SRC/ztpmlqt.f(3)
π NAME π
okay bestie, welcome to the Library Functions Manual β this page is for SRC/ztpmlqt.f, and it is lowkey iconic LAPACK lore. β¨
π SYNOPSIS π
π§ Functions/Subroutines π§
subroutine ztpmlqt (side, trans, m, n, k, l, mb, v, ldv, t, ldt, a, lda,
b, ldb, work, info)
ZTPMLQT
π§ Function/Subroutine Documentation π§
subroutine ztpmlqt (character side, character trans, integer m, integer n,
integer k, integer l, integer mb, complex*16, dimension( ldv, * ) v,
integer ldv, complex*16, dimension( ldt, * ) t, integer ldt, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,
integer ldb, complex*16, dimension( * ) work, integer info)
ZTPMLQT
ZTPMLQT is the main character here, no cap. π
π Purpose π
ZTPMLQT applies a complex unitary matrix Q obtained from a complex block reflector H to a general complex matrix C, which consists of two blocks A and B. π«Ά
π Parameters π
SIDEβCHARACTER*1= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.
TRANSβCHARACTER*1= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.
MβINTEGER- The number of rows of the matrix
B.M >= 0.
- The number of rows of the matrix
NβINTEGER- The number of columns of the matrix
B.N >= 0.
- The number of columns of the matrix
KβINTEGER- The number of elementary reflectors whose product defines the matrix
Q.
- The number of elementary reflectors whose product defines the matrix
LβINTEGER- The order of the trapezoidal part of
V. K >= L >= 0. See Further Details.
- The order of the trapezoidal part of
MBβINTEGER- The block size used for the storage of
T.K >= MB >= 1. - This must be the same value of
MBused to generateTinZTPLQT.
- The block size used for the storage of
VβCOMPLEX*16 array, dimension (LDV,K)- The i-th row must contain the vector which defines the elementary reflector
H(i), fori = 1,2,...,k, as returned byZTPLQTinB. See Further Details.
- The i-th row must contain the vector which defines the elementary reflector
LDVβINTEGER- The leading dimension of the array
V.LDV >= K.
- The leading dimension of the array
TβCOMPLEX*16 array, dimension (LDT,K)- The upper triangular factors of the block reflectors as returned by
ZTPLQT, stored as aMB-by-Kmatrix.
- The upper triangular factors of the block reflectors as returned by
LDTβINTEGER- The leading dimension of the array
T.LDT >= MB.
- The leading dimension of the array
AβCOMPLEX*16 array, dimension (LDA,N) if SIDE = 'L' or (LDA,K) if SIDE = 'R'- On entry, the
K-by-NorM-by-KmatrixA. - On exit,
Ais overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.
- On entry, the
LDAβINTEGER- The leading dimension of the array
A. - If
SIDE = 'L',LDA >= max(1,K); - If
SIDE = 'R',LDA >= max(1,M).
- The leading dimension of the array
BβCOMPLEX*16 array, dimension (LDB,N)- On entry, the
M-by-NmatrixB. - On exit,
Bis overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.
- On entry, the
LDBβINTEGER- The leading dimension of the array
B. LDB >= max(1,M).
- The leading dimension of the array
WORKβCOMPLEX*16 array. The dimension ofWORKisN*MBifSIDE = 'L', orM*MBifSIDE = 'R'.INFOβINTEGER= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details π
The columns of the pentagonal matrix V contain the elementary reflectors H(1), H(2), ..., H(K); V is composed of a rectangular block V1 and a trapezoidal block V2:
V = [V1] [V2].
The size of the trapezoidal block V2 is determined by the parameter L, where 0 <= L <= K; V2 is lower trapezoidal, consisting of the first L rows of a K-by-K upper triangular matrix. If L=K, V2 is lower triangular; if L=0, there is no trapezoidal block, hence V = V1 is rectangular. π
If SIDE = 'L': C = [A] where A is K-by-N, B is M-by-N and V is K-by-M.
[B]
If SIDE = 'R': C = [A B] where A is M-by-K, B is M-by-N and V is K-by-N.
The complex unitary matrix Q is formed from V and T. β¨
- If
TRANS='N'andSIDE='L',Cis on exit replaced withQ * C. - If
TRANS='C'andSIDE='L',Cis on exit replaced withQ**H * C. - If
TRANS='N'andSIDE='R',Cis on exit replaced withC * Q. - If
TRANS='C'andSIDE='R',Cis on exit replaced withC * Q**H.
π Definition at line212of fileztpmlqt.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π
okay bestie, that's the whole page π«Ά this iconic little manual page comes from LAPACK, Version 3.12.0, and it is the SRC/ztpmlqt.f(3) page. periodt. π
π¦ 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