SORML2(3)
π SORML2(3) β Library Functions Manual π
okay so bestie, this is the SORML2(3) page from the Library Functions Manual, and the header path is /home/abui...RC/sorml2.f(3). Itβs giving βLAPACK routine energyβ and honestly itβs iconic once you clock what it does. β¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sorml2.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine SORML2 (side, trans, m, n, k, a, lda, tau, c, ldc, work,
info)
SORML2 multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm).
π¦ Function/Subroutine Documentation π¦
subroutine SORML2 (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 info)
SORML2 multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm).
π Purpose π
okay so hereβs the whole β¨ moment β¨: SORML2 overwrites the general real m by n matrix C with
Q * C if SIDE = 'L' and TRANS = 'N', or
Q**T* C if SIDE = 'L' and TRANS = 'T', or
C * Q if SIDE = 'R' and TRANS = 'N', or
C * Q**T if SIDE = 'R' and TRANS = '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 SGELQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. π«Ά
π Parameters π
every single arg, no skipping, periodt π
SIDE
SIDEisCHARACTER*1= 'L': applyQorQ**Tfrom the Left= 'R': applyQorQ**Tfrom the Right
TRANS
TRANSisCHARACTER*1= 'N': applyQ(No transpose)= 'T': applyQ**T(Transpose)
M
MisINTEGER- The number of rows of the matrix
C.M >= 0.
N
NisINTEGER- The number of columns of the matrix
C.N >= 0.
K
KisINTEGER- The number of elementary reflectors whose product defines the matrix
Q. - If
SIDE = 'L',M >= K >= 0;ifSIDE = 'R',N >= K >= 0.
A
AisREAL array, dimension(LDA,M)ifSIDE = 'L',(LDA,N)ifSIDE = 'R'- The i-th row must contain the vector which defines the elementary reflector
H(i), fori = 1,2,...,k, as returned bySGELQFin the firstkrows of its array argumentA. Ais modified by the routine but restored on exit.
LDA
LDAisINTEGER- The leading dimension of the array
A.LDA >= max(1,K).
TAU
TAUisREAL array, dimension(K)TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned bySGELQF.
C
CisREAL array, dimension(LDC,N)- On entry, the
mbynmatrixC. - On exit,
Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q.
LDC
LDCisINTEGER- The leading dimension of the array
C.LDC >= max(1,M).
WORK
WORKisREAL array, dimension(N)ifSIDE = 'L',(M)ifSIDE = '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.
Definition at line 157 of file sorml2.f.
π€ Author π€
Generated automatically by Doxygen for LAPACK from the source code.
stay orthogonal, bestie π
β LAPACK Version 3.12.0, and this page lives at /home/abui...RC/sorml2.f(3).
π¦ 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