SRC/cunmrq.f(3)
π SRC/cunmrq.f
okay so this is straight out of the Library Functions Manual bestie, and it's literally the glow-up manual for CUNMRQ π she's a LAPACK girlie and she's about to overwrite your matrix (respectfully).
β¨ NAME β¨
SRC/cunmrq.f β that's the file, that's the whole name, no notes π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine cunmrq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info)β this is her full legal name, she goes byCUNMRQfor short π
πΈ Function/Subroutine Documentation πΈ
subroutine cunmrq (character side, character trans, integer m, integer n,
integer k, complex, dimension( lda, * ) a, integer lda, complex,
dimension( * ) tau, complex, dimension( ldc, * ) c, integer ldc,
complex, dimension( * ) work, integer lwork, integer info)
CUNMRQ β iconic, no cap π
π§ Purpose
okay so listen up because this is the main character moment:
CUNMRQ 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 CGERQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.
like, she's building Q out of reflectors and applying it to your matrix. it's giving craftsmanship fr fr β¨
π Parameters π
SIDE
SIDE is CHARACTER*1
= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right.
like which side are we coming from, bestie? pick one π
TRANS
TRANS is CHARACTER*1
= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H.
M
M is INTEGER
The number of rows of the matrix C. M >= 0.
N
N is INTEGER
The number of columns of the matrix C. N >= 0.
K
K is INTEGER
The number of elementary reflectors whose product defines the matrix Q.
If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0.
so like, K has to stay in its lane depending on which side you picked π«Ά
A
A is COMPLEX array, dimension
(LDA,M) if SIDE = 'L',
(LDA,N) if SIDE = 'R'
The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by CGERQF in the last k rows of its array argument A.
note that: the last k rows, not the first, not the middle, the last k rows. iykyk π
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,K).
TAU
TAU is COMPLEX array, dimension (K)
TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by CGERQF.
C
C is COMPLEX array, dimension (LDC,N)
On entry, the M-by-N matrix C. On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q.
she comes in as your matrix and leaves as a transformed matrix. glow-up complete π
LDC
LDC is INTEGER
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX array, dimension (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK
LWORK is INTEGER
The dimension of the array WORK.
If SIDE = 'L', LWORK >= max(1,N); if SIDE = 'R', LWORK >= max(1,M).
For good performance, LWORK should generally be larger. (read: don't be stingy with your workspace, she thrives when she has room π)
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.
so like,LWORK = -1is the "just tell me how much room you need" mode. she won't yell at you for it,XERBLAstays quiet π
INFO
INFO is INTEGER
= 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 166 of file cunmrq.f.
β Author (the other one) β
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page bestie, no skips, no cuts, every single parameter accounted for π«Ά
this masterpiece dropped with LAPACK, Version 3.12.0, and it lives at SRC/cunmrq.f(3) β go stan her, she ate π
β¨
π¦ 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