SRC/clarzb.f(3)
π clarzb β Library Functions Manual, but make it group chat π
okay so bestie, we're looking at SRC/clarzb.f in the Library Functions Manual, and this routine is here to apply a block reflector or its conjugate-transpose to a general matrix. Let's get into it π
β¨
πΈ NAME πΈ
SRC/clarzb.f
β¨ SYNOPSIS β¨
π« Functions/Subroutines π«
Here's the callable cutie:
subroutine clarzb (side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, c, ldc, work, ldwork)
CLARZB applies a block reflector or its conjugate-transpose to a general matrix. Periodt. π«Ά
π Function/Subroutine Documentation π
π§ subroutine clarzb π§
subroutine clarzb (character side, character trans, character direct, character storev, integer m, integer n, integer k, integer l, complex, dimension( ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t, integer ldt, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( ldwork, * ) work, integer ldwork)
CLARZB applies a block reflector or its conjugate-transpose to a general matrix. That's the whole vibe of this routine, bestie. π
π― Purpose π―
okay so here's the lore: CLARZB applies a complex block reflector H or its transpose H**H to a complex distributed M-by-N C, from the left or the right. Left or right, main character choice energy. β¨
Currently, onlySTOREV = 'R'andDIRECT = 'B'are supported. That is not a drill, bestie β those are the supported ones right now. π
π§Έ Parameters π§Έ
SIDE πΈ
SIDE is CHARACTER*1
= 'L': applyHorH**Hfrom the Left= 'R': applyHorH**Hfrom the Right
TRANS π¦
TRANS is CHARACTER*1
= 'N': applyH(No transpose)= 'C': applyH**H(Conjugate transpose)
DIRECT π
DIRECT is CHARACTER*1 β it tells you how H is formed from a product of elementary reflectors, iykyk:
= 'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet)= 'B':H = H(k) . . . H(2) H(1)(Backward)
STOREV π
STOREV is CHARACTER*1 β it tells you how the vectors that define the elementary reflectors are stored:
= 'C': Columnwise (not supported yet)= 'R': Rowwise
M π
M is INTEGER β the number of rows of the matrix C.
N π
N is INTEGER β the number of columns of the matrix C.
K π₯
K is INTEGER β the order of the matrix T (= the number of elementary reflectors whose product defines the block reflector).
L π
L is INTEGER β the number of columns of the matrix V containing the meaningful part of the Householder reflectors. If SIDE = 'L', M >= L >= 0, if SIDE = 'R', N >= L >= 0.
V π§
V is COMPLEX array, dimension (LDV,NV). If STOREV = 'C', NV = K; if STOREV = 'R', NV = L.
LDV π
LDV is INTEGER β the leading dimension of the array V. If STOREV = 'C', LDV >= L; if STOREV = 'R', LDV >= K.
T π
T is COMPLEX array, dimension (LDT,K) β the triangular K-by-K matrix T in the representation of the block reflector.
LDT π
LDT is INTEGER β the leading dimension of the array T. LDT >= K.
C π
C is COMPLEX array, dimension (LDC,N). On entry, the M-by-N matrix C. On exit, C is overwritten by H*C or H**H*C or C*H or C*H**H.
LDC π¦
LDC is INTEGER β the leading dimension of the array C. LDC >= max(1,M).
WORK β¨
WORK is COMPLEX array, dimension (LDWORK,K).
LDWORK π
LDWORK is INTEGER β the leading dimension of the array WORK. If SIDE = 'L', LDWORK >= max(1,N); if SIDE = 'R', LDWORK >= max(1,M).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
- A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
π¦ Further Details π¦
The source's !> comment here is literally empty, bestie β no extra lore in this section. It's giving minimal. π«Ά
π Definition π
Definition at line 181 of file clarzb.f.
π€ Author (auto-generated) π€
Generated automatically by Doxygen for LAPACK from the source code.
okay bye bestie β this page is serving LAPACK Version 3.12.0 on SRC/clarzb.f(3). The original footer didn't give a date, so we are not inventing one. No cap. Mwah πβ¨π
π¦ 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