DORMLQ(3)
π dormlq.f(3) β LAPACK manual, section 3 π
okay bestie, welcome to the dormlq.f page from the LAPACK library functions manual β¨. The full path situation is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dormlq.f β that's literally the file we're out here documenting, no cap π.
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dormlq.f β yes the NAME section is just the whole file path, she's that kind of girl π
.
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine DORMLQ (side, trans, m, n, k, a, lda, tau, c, ldc, work,
lwork, info)
DORMLQ
π Function/Subroutine Documentation π
subroutine DORMLQ (character side, character trans, integer m, integer n,
integer k, double precision, dimension( lda, * ) a, integer lda, double
precision, dimension( * ) tau, double precision, dimension( ldc, * ) c,
integer ldc, double precision, dimension( * ) work, integer lwork,
integer info)
DORMLQ π (iconic name, no notes)
π¦ Purpose π¦
ok so listen π β DORMLQ 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(k) . . . H(2) H(1)
as returned by DGELQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. and that's the whole vibe check β
π§ Parameters π§
girl, buckle up, there's a lot of them and they all matter:
SIDEβSIDEisCHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right. π
TRANSβTRANSisCHARACTER*1.= 'N': No transpose, applyQ;= 'T': Transpose, applyQ**T. π
MβMisINTEGER. The number of rows of the matrixC.M >= 0.NβNisINTEGER. The number of columns of the matrixC.N >= 0.KβKisINTEGER. The number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.AβAisDOUBLE PRECISIONarray, dimension
(LDA,M) if SIDE = 'L',
(LDA,N) if SIDE = 'R'
The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGELQF in the first k rows of its array argument A. π«Ά
LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,K).TAUβTAUisDOUBLE PRECISIONarray, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byDGELQF.CβCisDOUBLE PRECISIONarray, dimension(LDC,N). On entry, the M-by-N matrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q. (she gets replaced, main character energy honestly π)LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. β¨LWORKβLWORKisINTEGER. The dimension of the arrayWORK. IfSIDE = 'L',LWORK >= max(1,N); ifSIDE = 'R',LWORK >= max(1,M). For good performance,LWORKshould generally be larger.
IfLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. π©΅ (a little spy-mission mode, iykyk)
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.
Definition at line 165 of file dormlq.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (the robots wrote the docs, we just gave them flair π€π )
LAPACK Β· Version 3.12.0 Β· /home/abui...RC/dormlq.f(3) β okay that's the whole page bestie, go forth and multiply your matrices, xoxo ππ¦π
π¦ 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