SRC/zunmrq.f(3)
π¦ SRC/zunmrq.f(3) β Library Functions Manual π¦
okay so this is the SRC/zunmrq.f page from the Library Functions Manual, and it's giving βcomplex matrix glow-up via unitary reflectors.β bestie, we are learning ZUNMRQ together and it's actually iconic. β¨
β¨ NAME β¨
SRC/zunmrq.f
πΈ SYNOPSIS πΈ
π§ Functions/Subroutines π§
subroutine zunmrq (side, trans, m, n, k, a, lda, tau, c, ldc, work,
lwork, info)
ZUNMRQ
π Function/Subroutine Documentation π
subroutine zunmrq (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)
ZUNMRQ
π Purpose π
okay so here's the tea: ZUNMRQ 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(1)**H H(2)**H . . . H(k)**H
as returned by ZGERQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. slay. π
π Parameters π
π SIDE π
SIDEisCHARACTER*1= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.
π« TRANS π«
TRANSisCHARACTER*1= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.
πΈ M πΈ
MisINTEGER- The number of rows of the matrix
C.M >= 0.
- The number of rows of the matrix
π¦ N π¦
NisINTEGER- The number of columns of the matrix
C.N >= 0.
- The number of columns of the matrix
π K π
KisINTEGER- The number of elementary reflectors whose product defines the matrix
Q. - If
SIDE = 'L',M >= K >= 0; - if
SIDE = 'R',N >= K >= 0.
- The number of elementary reflectors whose product defines the matrix
β A β
AisCOMPLEX*16array, dimension(LDA,M)ifSIDE = 'L',(LDA,N)ifSIDE = 'R'- The
i-th row must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byZGERQFin the lastkrows of its array argumentA.
π LDA π
LDAisINTEGER- The leading dimension of the array
A.LDA >= max(1,K).
- The leading dimension of the array
π TAU π
TAUisCOMPLEX*16array, dimension(K)TAU(i)must contain the scalar factor of the elementary reflectorH(i), as returned byZGERQF.
π C π
CisCOMPLEX*16array, dimension(LDC,N)- On entry, the
M-by-NmatrixC. - On exit,
Cis overwritten byQ*CorQ**H*CorC*Q**HorC*Q.
- On entry, the
π§ LDC π§
LDCisINTEGER- The leading dimension of the array
C.LDC >= max(1,M).
- The leading dimension of the array
π WORK π
WORKisCOMPLEX*16array, dimension(MAX(1,LWORK))- On exit, if
INFO = 0,WORK(1)returns the optimalLWORK.
- On exit, if
π₯ LWORK π₯
LWORKisINTEGER- The dimension of the array
WORK. - If
SIDE = 'L',LWORK >= max(1,N); - if
SIDE = '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 theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- The dimension of the array
π 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 165 of file zunmrq.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π β signed off by LAPACK Version 3.12.0 and SRC/zunmrq.f(3). no extra date line in this footer, bestie, so that's the whole story. π«Ά
π¦ 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