SRC/dgemlqt.f(3)
πΈ NAME
SRC/dgemlqt.f β from the Library Functions Manual, bestie! This is the DGEMLQT page, and it's giving serious linear-algebra main-character energy. π
β¨
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine dgemlqt (side, trans, m, n, k, mb, v, ldv, t, ldt, c, ldc,
work, info)
DGEMLQT β that's the routine, no cap. π«Ά
π«Ά Function/Subroutine Documentation π«Ά
Here's the full signature, character-for-character, because we do not play about details:
subroutine dgemlqt (character side, character trans, integer m, integer n,
integer k, integer mb, double precision, dimension( ldv, * ) v, integer
ldv, double precision, dimension( ldt, * ) t, integer ldt, double
precision, dimension( ldc, * ) c, integer ldc, double precision,
dimension( * ) work, integer info)
DGEMLQT β¨
π Purpose π
okay so here's the vibe: DGEMLQT overwrites the general real M-by-N matrix C with
SIDE = 'L' SIDE = 'R'
TRANS = 'N': Q C C Q
TRANS = 'T': Q**T C C Q**T
where Q is a real orthogonal matrix defined as the product of K elementary reflectors:
Q = H(1) H(2) . . . H(K) = I - V T V**T
generated using the compact WY representation as returned by DGELQT.
Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. π
π Parameters π
SIDEβCHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right. Left or right, she's applying. πTRANSβCHARACTER*1.= 'N': No transpose, applyQ;= 'C': Transpose, applyQ**T. Keep that exactly as written, bestie. π¦MβINTEGER. The number of rows of the matrixC.M >= 0.NβINTEGER. The number of columns of the matrixC.N >= 0.KβINTEGER. The number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.MBβINTEGER. The block size used for the storage ofT.K >= MB >= 1. This must be the same value ofMBused to generateTinDGELQT. same-value energy, no substitutions. π§VβDOUBLE PRECISION array, dimension(LDV,M)ifSIDE = 'L',(LDV,N)ifSIDE = 'R'. The i-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byDGELQTin the first K rows of its array argumentA.LDVβINTEGER. The leading dimension of the arrayV.LDV >= max(1,K).TβDOUBLE PRECISION array, dimension(LDT,K). The upper triangular factors of the block reflectors as returned byDGELQT, stored as aMB-by-Kmatrix.LDTβINTEGER. The leading dimension of the arrayT.LDT >= MB.CβDOUBLE PRECISION array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ C,Q**T C,C Q**TorC Q. she gets rewritten, periodt. πLDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβDOUBLE PRECISION 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.
Definition at line 166 of file dgemlqt.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie β footer vibes: LAPACK Version 3.12.0, source page SRC/dgemlqt.f(3). mwah, bye πβ¨
π¦ 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