SRC/cungtr.f(3)
π SRC/cungtr.f(3) β Library Functions Manual
okay so bestie, welcome to the cungtr page β¨ this is LAPACK, section 3, and we're literally about to build a whole unitary matrix out of reflectors. no cap.
π¦ NAME
SRC/cungtr.f β fr fr that's the file, and the star of the show is cungtr π
πΈ SYNOPSIS
Functions/Subroutines
subroutine cungtr (uplo, n, a, lda, tau, work, lwork, info)
CUNGTR π
π Function/Subroutine Documentation
subroutine cungtr (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, complex, dimension( * ) tau, complex, dimension( * )
work, integer lwork, integer info)
π§ CUNGTR
β¨ Purpose:
!>
!> CUNGTR generates a complex unitary matrix Q which is defined as the
!> product of n-1 elementary reflectors of order N, as returned by
!> CHETRD:
!>
!> if UPLO = 'U', Q = H(n-1) . . . H(2) H(1),
!>
!> if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).
!>
so basically it takes all those cute little elementary reflectors CHETRD handed you and multiplies them together into one full-on unitary matrix Q. main character energy tbh π₯
π Parameters
UPLOβ it's aCHARACTER*1, and it's the vibe check for which triangle we're working with:
!> UPLO is CHARACTER*1
!> = 'U': Upper triangle of A contains elementary reflectors
!> from CHETRD;
!> = 'L': Lower triangle of A contains elementary reflectors
!> from CHETRD.
!>
NβINTEGER, the order of the matrix Q. and like,N >= 0, okay? don't be weird about it π
!> N is INTEGER
!> The order of the matrix Q. N >= 0.
!>
AβCOMPLEX array, dimension (LDA,N). on entry it's holding the vectors that define the elementary reflectors, exactly asCHETRDreturned them. on exit? boom β it's theN-by-Nunitary matrixQ. glow-up of the century ngl π¦
!> A is COMPLEX array, dimension (LDA,N)
!> On entry, the vectors which define the elementary reflectors,
!> as returned by CHETRD.
!> On exit, the N-by-N unitary matrix Q.
!>
LDAβINTEGER, the leading dimension of the arrayA. requirement:LDA >= N. periodt π
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= N.
!>
TAUβCOMPLEX array, dimension (N-1).TAU(i)has got to contain the scalar factor of the elementary reflectorH(i), as returned byCHETRD. like it's non-negotiable π
!> TAU is COMPLEX array, dimension (N-1)
!> TAU(i) must contain the scalar factor of the elementary
!> reflector H(i), as returned by CHETRD.
!>
WORKβCOMPLEX array, dimension (MAX(1,LWORK)). on exit, ifINFO = 0, thenWORK(1)returns the optimalLWORK. cute lil bonus info β¨
!> WORK is COMPLEX array, dimension (MAX(1,LWORK))
!> On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
!>
LWORKβINTEGER, the dimension of the arrayWORK. it's gotta beLWORK >= N-1. but for optimum performance you wantLWORK >= (N-1)*NB, whereNBis the optimal blocksize π
!> LWORK is INTEGER
!> The dimension of the array WORK. LWORK >= N-1.
!> For optimum performance LWORK >= (N-1)*NB, where NB is
!> the optimal blocksize.
!>
and here's the lil trick bestie: if LWORK = -1, then a workspace query is assumed β the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. it's giving "just asking, not committing" π§
!> If LWORK = -1, then a workspace query is assumed; the routine
!> only calculates the optimal size of the WORK array, returns
!> this value as the first entry of the WORK array, and no error
!> message related to LWORK is issued by XERBLA.
!>
INFOβINTEGER, the receipts:
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
so 0 means slay, we're done π and < 0 means if INFO = -i, the i-th argument had an illegal value π
β Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 122 of file cungtr.f. π
π Author
Generated automatically by Doxygen for LAPACK from the source code. (the robots wrote this part, not me π«Ά)
and that's the whole page bestie!! π LAPACK, Version 3.12.0, dated SRC/cungtr.f(3) β go forth and build your unitary matrices, you absolute icon πΈππ¦
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms