SRC/ctpmlqt.f(3)
πΈ NAME πΈ
SRC/ctpmlqt.f
okay bestie, this page is SRC/ctpmlqt.f(3) from the Library Functions Manual, and itβs giving serious LAPACK subroutine energy. π
β¨ SYNOPSIS β¨
π Functions/Subroutines
subroutine ctpmlqt (side, trans, m, n, k, l, mb, v, ldv, t, ldt, a, lda,
b, ldb, work, info)
CTPMLQT
π§ Function/Subroutine Documentation π§
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 π
No cap, hereβs the whole point: 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': apply Q or QH from the Left;= 'R': apply Q or QH from the Right.TRANSβTRANSisCHARACTER*1;= 'N': No transpose, apply Q;= 'C': Conjugate transpose, apply Q**H.MβMisINTEGER; the number of rows of the matrix B.M >= 0.NβNisINTEGER; the number of columns of the matrix B.N >= 0.KβKisINTEGER; the number of elementary reflectors whose product defines the matrix Q.LβLisINTEGER; the order of the trapezoidal part of V.K >= L >= 0. See Further Details.MBβMBisINTEGER; the block size used for the storage of T.K >= MB >= 1. This must be the same value of MB used to generate T inCTPLQT.VβVisCOMPLEX array, dimension (LDV,K); the i-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byCTPLQTin B. See Further Details.LDVβLDVisINTEGER; the leading dimension of the array V.LDV >= K.TβTisCOMPLEX array, dimension (LDT,K); the upper triangular factors of the block reflectors as returned byCTPLQT, stored as a MB-by-K matrix.LDTβLDTisINTEGER; the leading dimension of the array T.LDT >= MB.AβAisCOMPLEX array, dimension (LDA,N) if SIDE = 'L' or (LDA,K) if SIDE = 'R'; on entry, the K-by-N or M-by-K matrix A. On exit, A is overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.LDAβLDAisINTEGER; the leading dimension of the array A. IfSIDE = 'L',LDA >= max(1,K); ifSIDE = 'R',LDA >= max(1,M).BβBisCOMPLEX array, dimension (LDB,N); on entry, the M-by-N matrix B. On exit, B is overwritten by the corresponding block ofQ*CorQ**H*CorC*QorC*Q**H. See Further Details.LDBβLDBisINTEGER; the leading dimension of the array B.LDB >= max(1,M).WORKβWORKisCOMPLEX array. The dimension of WORK isN*MBifSIDE = 'L', orM*MBifSIDE = 'R'.INFOβINFOisINTEGER;= 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', C is on exit replaced withQ * C. - If
TRANS='C'andSIDE='L', C is on exit replaced withQ**H * C. - If
TRANS='N'andSIDE='R', C is on exit replaced withC * Q. - If
TRANS='C'andSIDE='R', C is on exit replaced withC * Q**H.
Definition at line 197 of file ctpmlqt.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π this was SRC/ctpmlqt.f(3) from LAPACK Version 3.12.0, and yes bestie, thatβs the whole iconic page. π«Άβ¨
π¦ 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