SRC/sormr2.f(3)
okay bestie, this is the Library Functions Manual page for SRC/sormr2.f(3) β yes, that SRC/sormr2.f β and the function in the spotlight is sormr2. Buckle up, because this unblocked-algorithm icon is about to multiply a general matrix by the orthogonal matrix from an RQ factorization. π
β¨
NAME
SRC/sormr2.f β the manual page title, and sormr2 is the subroutine you came here for. π
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).
That's the whole synopsis vibe, bestie. π«Ά
Function/Subroutine Documentation
subroutine sormr2 π
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). That's literally the whole main-character job. π
Purpose
Here's the exact overwrite tea: SORMR2 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(1) H(2) . . . H(k)
as returned by SGERQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. slay. β¨
Parameters
SIDEβCHARACTER*1.= 'L': applyQorQ**Tfrom the Left.= 'R': applyQorQ**Tfrom the Right.TRANSβCHARACTER*1.= 'N': apply Q (No transpose).= 'T': apply Q' (Transpose).MβINTEGER. The number of rows of the matrixC.M >= 0.NβINTEGER. The number of columns of the matrixC.N >= 0.KβINTEGER. The number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.AβREALarray, dimension(LDA,M)ifSIDE = 'L',(LDA,N)ifSIDE = 'R'. Thei-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned bySGERQFin the lastkrows of its array argumentA.Ais modified by the routine but restored on exit.LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,K).TAUβREALarray, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned bySGERQF.CβREALarray, dimension(LDC,N). On entry, thembynmatrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q.LDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβREALarray, dimension(N)ifSIDE = 'L',(M)ifSIDE = 'R'.INFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value. π¨ illegal value alert, bestie π¨
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 157 of file sormr2.f.
Author
This page? Generated automatically by Doxygen for LAPACK from the source code. No cap, that's the meta-author energy. π«Ά
Later bestie! π This was the LAPACK page, Version 3.12.0, for SRC/sormr2.f(3). 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