SORMQL(3)
π SORMQL(3) π
Okay bestie, quick vibe check: this page comes from the Library Functions Manual, and the header title is /home/abui...RC/sormql.f(3). Weβre folding that in right here so you donβt have to stare at a raw header line. Now letβs get into the LAPACK of it all. β¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sormql.f
Thatβs the source-file path this page is about β no cap. π«Ά
π¦ SYNOPSIS π¦
β¨ Functions/Subroutines β¨
subroutine SORMQL (side, trans, m, n, k, a, lda, tau, c, ldc, work,
lwork, info)
SORMQL
π Function/Subroutine Documentation π
subroutine SORMQL (character side, character trans, integer m, integer n,
integer k, real, dimension( lda, * ) a, integer lda, real, dimension( *
) tau, real, dimension( ldc, * ) c, integer ldc, real, dimension( * )
work, integer lwork, integer info)
SORMQL
The name tag is literally SORMQL. Iconic, honestly. π
π Purpose π
SORMQLβs whole main-character move is overwriting the general real M-by-N matrix C with one of these four combos, depending on SIDE and TRANS:
!>
!> SORMQL 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 SGEQLF. Q is of order M if SIDE = 'L' and of order N
!> if SIDE = 'R'.
!>
So yes: Q is a real orthogonal matrix built as the product of k elementary reflectors, and it comes back from SGEQLF. Q is of order M if SIDE = 'L', and of order N if SIDE = 'R'. Periodt. π
π Parameters π
SIDEβSIDE is CHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right. Pick your side, bestie.TRANSβTRANS is CHARACTER*1.= 'N': No transpose, applyQ;= 'T': Transpose, applyQ**T.MβM is INTEGER. The number of rows of the matrixC.M >= 0.NβN is INTEGER. The number of columns of the matrixC.N >= 0.KβK is INTEGER. The number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.AβA is REAL array, dimension (LDA,K). The i-th column must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned bySGEQLFin the lastkcolumns of its array argumentA.LDAβLDA is INTEGER. The leading dimension of the arrayA. IfSIDE = 'L',LDA >= max(1,M); ifSIDE = 'R',LDA >= max(1,N).TAUβTAU is REAL array, dimension (K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned bySGEQLF.CβC is REAL array, dimension (LDC,N). On entry, the M-by-N matrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q.LDCβLDC is INTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORK is REAL array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORK is INTEGER. The dimension of the arrayWORK. IfSIDE = 'L',LWORK >= max(1,N); ifSIDE = 'R',LWORK >= max(1,M). For good performance,LWORKshould generally be larger.
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. Iconic workspace-query behavior, honestly. π
INFOβINFO is 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 sormql.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
Final footer sign-off, bestie: LAPACK, Version 3.12.0, and /home/abui...RC/sormql.f(3). Thatβs the whole footer flex. Mwah. πβ¨
π¦ 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