SRC/sorm22.f(3)
πΈ SRC/sorm22.f β LAPACK Library Functions Manual, bestie edition πΈ
Okay so this is the Library Functions Manual page for SRC/sorm22.f, and itβs literally giving βI do linear algebra and Iβm gonna explain it to my bestie without being boring.β π The whole vibe is technical but cute, fr fr.
π NAME π
SRC/sorm22.f β the page for the subroutine sorm22. SORM22 multiplies a general matrix by a banded orthogonal matrix. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines
subroutine sorm22 (side, trans, m, n, n1, n2, q, ldq, c, ldc, work, lwork, info)β the actual call signature, no cap. And yeah, it does the βSORM22 multiplies a general matrix by a banded orthogonal matrixβ thing. π«Ά
subroutine sorm22 (side, trans, m, n, n1, n2, q, ldq, c, ldc, work,
lwork, info)
SORM22 multiplies a general matrix by a banded orthogonal matrix. πΈ
π₯ Function/Subroutine Documentation π₯
Hereβs the full tea on sorm22 β signature and all. π
subroutine sorm22 (character side, character trans, integer m, integer n,
integer n1, integer n2, real, dimension( ldq, * ) q, integer ldq, real,
dimension( ldc, * ) c, integer ldc, real, dimension( * ) work, integer
lwork, integer info)
SORM22 multiplies a general matrix by a banded orthogonal matrix. π
π Purpose π
Bestie, the routine overwrites the general real M-by-N matrix C with one of these depending on SIDE and TRANS. The sourceβs Purpose block is literally this, and Iβm keeping the !> comment markers because thatβs exactly how it shows up in the code:
!>
!>
!> SORM22 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 of order NQ, with NQ = M if
!> SIDE = 'L' and NQ = N if SIDE = 'R'.
!> The orthogonal matrix Q processes a 2-by-2 block structure
!>
!> [ Q11 Q12 ]
!> Q = [ ]
!> [ Q21 Q22 ],
!>
!> where Q12 is an N1-by-N1 lower triangular matrix and Q21 is an
!> N2-by-N2 upper triangular matrix.
!>
Thatβs the exact Purpose block, markers and all β and Iβm not merging or βfixingβ anything, bestie. Source tea stays source tea. π«Ά
πΈ Parameters πΈ
SIDEβ isCHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right. πTRANSβ isCHARACTER*1.= 'N': applyQ(No transpose);= 'C': applyQ**T(Conjugate transpose). β¨Mβ isINTEGER. The number of rows of the matrixC.M >= 0. πNβ isINTEGER. The number of columns of the matrixC.N >= 0. πΈN1,N2βN1isINTEGER;N2isINTEGER. The dimension ofQ12andQ21, respectively.N1, N2 >= 0. The following requirement must be satisfied:N1 + N2 = MifSIDE = 'L'andN1 + N2 = NifSIDE = 'R'. π«ΆQβ isREAL array, dimension(LDQ,M)ifSIDE = 'L',(LDQ,N)ifSIDE = 'R'. πLDQβ isINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,M)ifSIDE = 'L';LDQ >= max(1,N)ifSIDE = 'R'. βCβ isREAL array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q. π₯LDCβ isINTEGER. The leading dimension of the arrayC.LDC >= max(1,M). πWORKβ isREAL array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. β¨LWORKβ isINTEGER. The dimension of the arrayWORK. IfSIDE = 'L',LWORK >= max(1,N); ifSIDE = 'R',LWORK >= max(1,M). For optimum performanceLWORK >= M*N. 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. π«ΆINFOβ isINTEGER.= 0: successful exit;< 0: ifINFO = -i, thei-th argument had an illegal value. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 161 of file sorm22.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π€
Okay thatβs the whole page, bestie. Footer source/version tea: LAPACK Version 3.12.0, page SRC/sorm22.f(3) β and thereβs no separate date shown there, so Iβm not inventing one. Signing off with main character energy. πβ¨π
π¦ 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