SORMR2(3)
π SORMR2(3) π
okay so bestie, this page comes straight outta the Library Functions Manual and lives at
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sormr2.f
and honestly? it's giving β¨ linear algebra royalty β¨. let's get into it π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sormr2.f
that's the file, that's the whole name section, it's literally just the path and we respect it π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine SORMR2 (side, trans, m, n, k, a, lda, tau, c, ldc, work,
info)
SORMR2 multiplies a general matrix by the orthogonal matrix from a RQ factorization determined by sgerqf (unblocked algorithm). no cap, that's the whole vibe π₯
πΈ Function/Subroutine Documentation πΈ
subroutine SORMR2 (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)
SORMR2 multiplies a general matrix by the orthogonal matrix from a RQ factorization determined by sgerqf (unblocked algorithm). she's iconic, she's unblocked, she's here π
π Purpose π
SORMR2overwrites the general real m by n matrixCwith
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(1) H(2) . . . H(k)
as returned by SGERQF. and like, Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. remember that, it comes up π§
π Parameters π
SIDEβSIDEisCHARACTER*1= 'L': applyQorQ**Tfrom the Left= 'R': applyQorQ**Tfrom the Right
TRANSβTRANSisCHARACTER*1= 'N': applyQ(No transpose)= 'T': applyQ'(Transpose)
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.- If
SIDE = 'L',M >= K >= 0; - if
SIDE = 'R',N >= K >= 0.
- If
AβAisREALarray, 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 SGERQF in the last k rows of its array argument A.
β οΈ heads up bestie: A is modified by the routine but restored on exit. so she goes on a little journey and comes back exactly the same, we love a round trip π
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,K).TAUβTAUisREALarray, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned bySGERQF.CβCisREALarray, dimension(LDC,N).- On entry, the m by n matrix
C. - On exit,
Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q.
- On entry, the m by n matrix
LDCβLDCisINTEGER. the leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisREALarray, dimension
(N) if SIDE = 'L',
(M) if SIDE = '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 sormr2.f. β
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes the page has two Author sections, no we're not asking questions, we're just matching the energy π)
and that's the whole page bestie!! shoutout to LAPACK, Version 3.12.0, over at /home/abui...RC/sormr2.f(3) β go forth and multiply your matrices, you've got this ππ¦
π¦ 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