/home/abui.../ctpmlqt.f(3)
πΈ NAME πΈ
okay so bestie, we're in the Library Functions Manual and the page is ctpmlqt.f(3) β and the source file is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ctpmlqt.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
our main character is CTPMLQT, and the synopsis is giving:
subroutine CTPMLQT (side, trans, m, n, k, l, mb, v, ldv, t, ldt, a, lda,
b, ldb, work, info)
CTPMLQT
π Function/Subroutine Documentation π
here's the full signature, no cap:
subroutine CTPMLQT (character side, character trans, integer m, integer n,
integer k, integer l, integer mb, complex, dimension( ldv, * ) v,
integer ldv, complex, dimension( ldt, * ) t, integer ldt, complex,
dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,
integer ldb, complex, dimension( * ) work, integer info)
CTPMLQT
π Purpose π
CTPMLQT 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. periodt β¨
π Parameters π
SIDEβSIDEisCHARACTER*1;= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right. π«ΆTRANSβTRANSisCHARACTER*1;= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.MβMisINTEGER; the number of rows of the matrixB.M >= 0.NβNisINTEGER; the number of columns of the matrixB.N >= 0.KβKisINTEGER; the number of elementary reflectors whose product defines the matrixQ.LβLisINTEGER; the order of the trapezoidal part ofV.K >= L >= 0. See Further Details.MBβMBisINTEGER; the block size used for the storage ofT.K >= MB >= 1. This must be the same value ofMBused to generateTinCTPLQT.VβVisCOMPLEX array, dimension(LDV,K); thei-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byCTPLQTinB. See Further Details.LDVβLDVisINTEGER; the leading dimension of the arrayV.LDV >= K.TβTisCOMPLEX array, dimension(LDT,K); the upper triangular factors of the block reflectors as returned byCTPLQT, stored as aMB-by-Kmatrix.LDTβLDTisINTEGER; the leading dimension of the arrayT.LDT >= MB.AβAisCOMPLEX array, dimension(LDA,N)ifSIDE = 'L'or(LDA,K)ifSIDE = 'R'. On entry, theK-by-NorM-by-KmatrixA. On exit,Ais overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.LDAβLDAisINTEGER; the leading dimension of the arrayA. IfSIDE = 'L',LDA >= max(1,K); IfSIDE = 'R',LDA >= max(1,M).BβBisCOMPLEX array, dimension(LDB,N). On entry, theM-by-NmatrixB. On exit,Bis overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.LDBβLDBisINTEGER; the leading dimension of the arrayB.LDB >= max(1,M).WORKβWORKisCOMPLEX array. The dimension ofWORKisN*MBifSIDE = 'L', orM*MBifSIDE = 'R'.INFOβINFOisINTEGER;= 0: successful exit;< 0: ifINFO = -i, thei-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':
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 line197of filectpmlqt.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay bye bestie π β footer check says LAPACK Version 3.12.0 and the path is /home/abui.../ctpmlqt.f(3) β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms