/home/abui.../cgemqrt.f(3)
πΈ NAME πΈ
okay so this is from the Library Functions Manual, and the page is /home/abui.../cgemqrt.f(3) β header folded in cute-style, bestie.
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgemqrt.f
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines π¦
subroutine CGEMQRT (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
work, info)
CGEMQRT
π«Ά Function/Subroutine Documentation π«Ά
subroutine CGEMQRT (character side, character trans, integer m, integer n,
integer k, integer nb, complex, dimension( ldv, * ) v, integer ldv,
complex, dimension( ldt, * ) t, integer ldt, complex, dimension( ldc, *
) c, integer ldc, complex, dimension( * ) work, integer info)
CGEMQRT
π Purpose π
okay so CGEMQRT 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 orthogonal matrix defined as the product of K elementary reflectors:
Q = H(1) H(2) . . . H(K) = I - V T V**H
generated using the compact WY representation as returned by CGEQRT. Not me being obsessed with compact WY representation, it's just literally what the page says. π
Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.
π 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 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.
NB
NB is INTEGER.
The block size used for the storage of T. K >= NB >= 1. This must be the same value of NB used to generate T in CGEQRT.
V
V is COMPLEX array, dimension (LDV,K).
The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by CGEQRT in the first K columns of its array argument A.
LDV
LDV is INTEGER.
The leading dimension of the array V.
If SIDE = 'L', LDA >= max(1,M); if SIDE = 'R', LDA >= max(1,N).
yes, bestie, the page literally saysLDAright there forLDVβ I'm reading it exactly, no edits, no cap. π«Ά
T
T is COMPLEX array, dimension (LDT,K).
The upper triangular factors of the block reflectors as returned by CGEQRT, stored as a NB-by-N matrix.
LDT
LDT is INTEGER.
The leading dimension of the array T. LDT >= NB.
C
C is COMPLEX array, dimension (LDC,N).
On entry, the M-by-N matrix C.
On exit, C is overwritten by Q C, Q**H C, C Q**H or C Q.
LDC
LDC is INTEGER.
The leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX array.
The dimension of WORK is N*NB if SIDE = 'L', or M*NB if SIDE = 'R'.
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 cgemqrt.f.
π§ Author (generated edition) π§
Generated automatically by Doxygen for LAPACK from the source code.
Source/version check: LAPACK and Version 3.12.0, page /home/abui.../cgemqrt.f(3). The footer doesn't show a date, so I'm not making one up β periodt. πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms