SRC/cunml2.f(3)
β¨ CUNML2 β SRC/cunml2.f β¨
okay so this page is from the Library Functions Manual, and it's all about SRC/cunml2.f(3) β the unblocked LQ glow-up routine. Buckle up, bestie. π
π NAME π
SRC/cunml2.f
That's the file, periodt. π«Ά
π¦ SYNOPSIS π¦
π§ Functions/Subroutines π§
subroutine cunml2 (side, trans, m, n, k, a, lda, tau, c, ldc, work,
info)
CUNML2 multiplies a general matrix by the unitary matrix from the LQ factorization determined by cgelqf (unblocked algorithm). ate. β¨
π Function/Subroutine Documentation π
subroutine cunml2 (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 info)
CUNML2 multiplies a general matrix by the unitary matrix from the LQ factorization determined by cgelqf (unblocked algorithm). No cap. π¦
πΈ Purpose πΈ
CUNML2 overwrites the general complex m-by-n matrix C with:
Q * C if SIDE = 'L' and TRANS = 'N', or
Q**H* C if SIDE = 'L' and TRANS = 'C', or
C * Q if SIDE = 'R' and TRANS = 'N', or
C * Q**H if SIDE = 'R' and TRANS = 'C',
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 CGELQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. iykyk π
π Parameters π
SIDE
SIDE is CHARACTER*1
= 'L': applyQorQ**Hfrom the Left= 'R': applyQorQ**Hfrom the Right
TRANS
TRANS is CHARACTER*1
= 'N': applyQ(No transpose)= 'C': applyQ**H(Conjugate transpose)
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.
A
A is COMPLEX array, dimension
(LDA,M)ifSIDE = 'L',(LDA,N)ifSIDE = 'R'
The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by CGELQF in the first k rows of its array argument A.
heads up, bestie: A is modified by the routine but restored on exit. π«Ά
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 CGELQF. π
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. π₯
LDC
LDC is INTEGER β the leading dimension of the array C. LDC >= max(1,M).
WORK
WORK is COMPLEX array, dimension
(N)ifSIDE = 'L',(M)ifSIDE = 'R'
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 157 of file cunml2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π cute sign-off, bestie: LAPACK Version 3.12.0, page SRC/cunml2.f(3) β mwah, periodt. π
π¦ 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