unm22(3)
π unm22(3) β {un,or}m22: multiply by banded Q, step in gghd3 π
(from the Library Functions Manual)
πΈ NAME πΈ
unm22 β {un,or}m22: multiply by banded Q, step in gghd3
β¨ SYNOPSIS β¨
subroutine cunm22 (side, trans, m, n, n1, n2, q, ldq, c, ldc, work, lwork, info)
CUNM22 multiplies a general matrix by a banded unitary matrix.
subroutine dorm22 (side, trans, m, n, n1, n2, q, ldq, c, ldc, work, lwork, info)
DORM22 multiplies a general matrix by a banded orthogonal matrix.
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.
subroutine zunm22 (side, trans, m, n, n1, n2, q, ldq, c, ldc, work, lwork, info)
ZUNM22 multiplies a general matrix by a banded unitary matrix.
π Detailed Description π
okay so this section is lowkey just a little hallway into the function docs β no extra lore here, bestie.
π οΈ Function Documentation π οΈ
π¦ subroutine cunm22 (character side, character trans, integer m, integer n, integer n1, integer n2, complex, dimension( ldq, * ) q, integer ldq, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( * ) work, integer lwork, integer info) π¦
CUNM22 multiplies a general matrix by a banded unitary matrix.
π― Purpose π―
CUNM22 overwrites the general complex M-by-N matrix C with
SIDE = 'L' SIDE = 'R'
TRANS = 'N': Q * C C * Q
TRANS = 'C': Q**H * C C * Q**H
where Q is a complex unitary matrix of order NQ, with NQ = M if SIDE = 'L' and NQ = N if SIDE = 'R'. The unitary 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.
π§© Parameters π§©
SIDEβSIDEisCHARACTER*1.= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.TRANSβTRANSisCHARACTER*1.= 'N': applyQ(No transpose);= 'C': applyQ**H(Conjugate transpose).MβMisINTEGER. The number of rows of the matrixC.M >= 0.NβNisINTEGER. 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βQisCOMPLEX array, dimension(LDQ,M)ifSIDE = 'L';(LDQ,N)ifSIDE = 'R'.LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,M)ifSIDE = 'L';LDQ >= max(1,N)ifSIDE = 'R'.CβCisCOMPLEX array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**H*CorC*Q**HorC*Q.LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisCOMPLEX array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. 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β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 160 of file cunm22.f.
π¦ subroutine dorm22 (character side, character trans, integer m, integer n, integer n1, integer n2, double precision, dimension( ldq, * ) q, integer ldq, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) work, integer lwork, integer info) π¦
DORM22 multiplies a general matrix by a banded orthogonal matrix.
π― Purpose π―
DORM22 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.
π§© Parameters π§©
SIDEβSIDEisCHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right.TRANSβTRANSisCHARACTER*1.= 'N': applyQ(No transpose);= 'C': applyQ**T(Conjugate transpose).MβMisINTEGER. The number of rows of the matrixC.M >= 0.NβNisINTEGER. 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βQisDOUBLE PRECISION array, dimension(LDQ,M)ifSIDE = 'L';(LDQ,N)ifSIDE = 'R'.LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,M)ifSIDE = 'L';LDQ >= max(1,N)ifSIDE = 'R'.CβCisDOUBLE PRECISION array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q.LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisDOUBLE PRECISION array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORKisINTEGER. 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β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 161 of file dorm22.f.
π§ 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 π―
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.
π§© Parameters π§©
SIDEβSIDEisCHARACTER*1.= 'L': applyQorQ**Tfrom the Left;= 'R': applyQorQ**Tfrom the Right.TRANSβTRANSisCHARACTER*1.= 'N': applyQ(No transpose);= 'C': applyQ**T(Conjugate transpose).MβMisINTEGER. The number of rows of the matrixC.M >= 0.NβNisINTEGER. 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βQisREAL array, dimension(LDQ,M)ifSIDE = 'L';(LDQ,N)ifSIDE = 'R'.LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,M)ifSIDE = 'L';LDQ >= max(1,N)ifSIDE = 'R'.C
okay bestie, weβre picking up mid-sorm22 parameter list β no recap, just the rest of the tea β
Cβ is aREALarray, dimension(LDC,N). On entry, itβs theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**T*CorC*Q**TorC*Q. literally the whole glow-up.LDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M). no cap.WORKβWORKisREALarray, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. 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. yep, thatβs the whole deal πINFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value. rude but valid.
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 161 of file sorm22.f.
π
zunm22 π
subroutine zunm22 (character side, character trans, integer m, integer n,
integer n1, integer n2, complex*16, dimension( ldq, * ) q, integer ldq,
complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( *
) work, integer lwork, integer info)
ZUNM22 multiplies a general matrix by a banded unitary matrix.
β¨ Purpose β¨
ZUNM22 overwrites the general complex M-by-N matrix C with:
SIDE = 'L' SIDE = 'R'
TRANS = 'N': Q * C C * Q
TRANS = 'C': Q**H * C C * Q**H
where Q is a complex unitary matrix of order NQ, with NQ = M if SIDE = 'L' and NQ = N if SIDE = 'R'. The unitary 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.
π Parameters π
SIDEβCHARACTER*1.= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.TRANSβCHARACTER*1.= 'N': applyQ(No transpose);= 'C': applyQ**H(Conjugate transpose).MβINTEGER. The number of rows of the matrixC.M >= 0.NβINTEGER. 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'. fr fr, thatβs the rule.QβQisCOMPLEX*16array, dimension(LDQ,M)ifSIDE = 'L';(LDQ,N)ifSIDE = 'R'.LDQβINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,M)ifSIDE = 'L';LDQ >= max(1,N)ifSIDE = 'R'.CβCisCOMPLEX*16array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**H*CorC*Q**HorC*Q.LDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisCOMPLEX*16array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβINTEGER. 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βINTEGER.= 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 160 of file zunm22.f.
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole unm22(3) page π β LAPACK Version 3.12.0, Doxygen-generated, source-code slay. Footer sign-off: source/version and page name, periodt. (The page itself only hands us the version and unm22(3), so weβre not inventing a date, no cap.) π«Ά
π¦ 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