SRC/zupmtr.f(3)
π NAME π
okay so this is the SRC/zupmtr.f(3) page from the Library Functions Manual, and the NAME line is literally SRC/zupmtr.f β that's our main character. The routine living here is zupmtr, and she's about to get the full group-chat breakdown. π
π SYNOPSIS π
π§ Functions/Subroutines π§
subroutine zupmtr (side, uplo, trans, m, n, ap, tau, c, ldc, work, info)β ZUPMTR
π¦ Function/Subroutine Documentation π¦
β¨ subroutine zupmtr β¨
subroutine zupmtr (character side, character uplo, character trans, integer m, integer n, complex*16, dimension( * ) ap, complex*16, dimension( * ) tau, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work, integer info)
ZUPMTR is the name on the door, bestie.
π Purpose π
okay so here's the tea: ZUPMTR 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'. Q is defined as the product of nq-1 elementary reflectors, as returned by ZHPTRD using packed storage:
if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
π Parameters π
SIDEβSIDEisCHARACTER*1= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.
UPLOβUPLOisCHARACTER*1= 'U': Upper triangular packed storage used in previous call toZHPTRD;= 'L': Lower triangular packed storage used in previous call toZHPTRD.
TRANSβTRANSisCHARACTER*1= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.
MβMisINTEGER. The number of rows of the matrixC.M >= 0.NβNisINTEGER. The number of columns of the matrixC.N >= 0.APβAPisCOMPLEX*16array, dimension(M*(M+1)/2)ifSIDE = 'L'(N*(N+1)/2)ifSIDE = 'R'
The vectors which define the elementary reflectors, as returned by ZHPTRD. AP is modified by the routine but restored on exit.
TAUβTAUisCOMPLEX*16array, dimension(M-1)ifSIDE = 'L'or(N-1)ifSIDE = 'R'.TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byZHPTRD.CβCisCOMPLEX*16array, 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*16array, dimension(N)ifSIDE = 'L'(M)ifSIDE = 'R'
INFOβINFOisINTEGER= 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 148 of file zupmtr.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
that's the whole page, bestie! this one is LAPACK Version 3.12.0 on the SRC/zupmtr.f(3) page β mwah, and slay πβ¨
π¦ 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