SRC/zunmlq.f(3)
π SRC/zunmlq.f π
okay so this page came straight from the Library Functions Manual, and itβs giving βcomplex linear algebra bestieβ energy. Weβre talking ZUNMLQ, no cap. Itβs a subroutine, it lives in SRC/zunmlq.f, and it is lowkey iconic in a very nerdy way. π«Ά
πΈ NAME πΈ
SRC/zunmlq.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines
subroutine zunmlq (side, trans, m, n, k, a, lda, tau, c, ldc, work,
lwork, info)
ZUNMLQ
π Function/Subroutine Documentation π
Hereβs the whole signature, bestie β typed exactly how the Fortran girlies wrote it:
subroutine zunmlq (character side, character trans, integer m, integer n,
integer k, complex*16, dimension( lda, * ) a, integer lda, complex*16,
dimension( * ) tau, complex*16, dimension( ldc, * ) c, integer ldc,
complex*16, dimension( * ) work, integer lwork, integer info)
ZUNMLQ
π Purpose π
okay so ZUNMLQ 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 defined as the product of k elementary reflectors:
Q = H(k)**H . . . H(2)**H H(1)**H
as returned by ZGELQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. periodt. π
π§© Parameters π§©
SIDEβSIDE is CHARACTER*1= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.
TRANSβTRANS is CHARACTER*1= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.
MβM is INTEGER; the number of rows of the matrixC.M >= 0.NβN is INTEGER; the number of columns of the matrixC.N >= 0.KβK is INTEGER; the number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.AβA is COMPLEX*16 array, 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 byZGELQFin the firstkrows of its array argumentA.LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,K).TAUβTAU is COMPLEX*16 array, dimension (K);TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byZGELQF.CβC is COMPLEX*16 array, dimension (LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byQ*CorQ**H*CorC*Q**HorC*Q.LDCβLDC is INTEGER; the leading dimension of the arrayC.LDC >= max(1,M).WORKβWORK is COMPLEX*16 array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK.LWORKβLWORK is INTEGER; the dimension of the arrayWORK. IfSIDE = 'L',LWORK >= max(1,N); ifSIDE = 'R',LWORK >= max(1,M). For good performance,LWORKshould generally be larger.
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
INFOβINFO is 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 165 of file zunmlq.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay thatβs the whole page bestie! massive love to LAPACK Version 3.12.0 and this page is SRC/zunmlq.f(3) β bye π
β¨
π¦ 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