SRC/dgemqrt.f(3)
β¨ NAME β¨
SRC/dgemqrt.f β yes bestie, that's the file, and it's from the Library Functions Manual. We are in serious linear algebra territory, but make it cute. π
π SYNOPSIS π
Functions/Subroutines
subroutine dgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
work, info)
DGEMQRT
π Function/Subroutine Documentation π
subroutine dgemqrt (character side, character trans, integer m, integer n,
integer k, integer nb, 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)
DGEMQRT
π Purpose π
okay so DGEMQRT 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
It's generated using the compact WY representation as returned by DGEQRT. No cap, that compact WY representation is iconic. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. π¦
π Parameters π
SIDEβCHARACTER*1.= 'L': apply Q or QT from the Left;= 'R': apply Q or QT from the Right. Left vs right, bestie, choose your fighter.TRANSβCHARACTER*1.= 'N': No transpose, apply Q;= 'C': Transpose, apply Q**T.MβINTEGER. The number of rows of the matrix C.M >= 0.NβINTEGER. The number of columns of the matrix C.N >= 0.KβINTEGER. The number of elementary reflectors whose product defines the matrix Q. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.NBβINTEGER. The block size used for the storage of T.K >= NB >= 1. This must be the same value of NB used to generate T inDGEQRT.VβDOUBLE PRECISION array, dimension (LDV,K). The i-th column must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byDGEQRTin the first K columns of its array argument A.LDVβINTEGER. The leading dimension of the array V. IfSIDE = 'L',LDA >= max(1,M); ifSIDE = 'R',LDA >= max(1,N). Yep, the source saysLDAright there in theLDVentry, and I am copying it faithfully.TβDOUBLE PRECISION array, dimension (LDT,K). The upper triangular factors of the block reflectors as returned byDGEQRT, stored as aNB-by-Nmatrix.LDTβINTEGER. The leading dimension of the array T.LDT >= NB.CβDOUBLE PRECISION array, dimension (LDC,N). On entry, the M-by-N matrix C. On exit, C is overwritten byQ C,Q**T C,C Q**TorC Q.LDCβINTEGER. The leading dimension of the array C.LDC >= max(1,M).WORKβDOUBLE PRECISION array. The dimension of WORK isN*NBifSIDE = 'L', orM*NBifSIDE = '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 dgemqrt.f.
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole page, bestie: LAPACK, Version 3.12.0, source SRC/dgemqrt.f(3). The footer doesn't show a date, just that version + source flex. Mwah πβ¨
π¦ 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