SRC/dlarfb.f(3)
β¨ NAME β¨
Manual page: SRC/dlarfb.f(3) β Library Functions Manual. This page is literally all about SRC/dlarfb.f, bestie. π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine dlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt,
c, ldc, work, ldwork)
dlarfb applies a block reflector or its transpose to a general rectangular matrix. No cap. π
π Function/Subroutine Documentation π
subroutine dlarfb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, double precision,
dimension( ldv, * ) v, integer ldv, double precision, dimension( ldt, *
) t, integer ldt, double precision, dimension( ldc, * ) c, integer ldc,
double precision, dimension( ldwork, * ) work, integer ldwork)
DLARFB applies a block reflector or its transpose to a general rectangular matrix. Iconic behavior, honestly. π
β¨ Purpose β¨
okay so DLARFB applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right. That's the whole mission, and it ate. π
πΈ Parameters πΈ
SIDEβSIDE is CHARACTER*1= 'L': applyHorH**Tfrom the Left= 'R': applyHorH**Tfrom the Right
TRANSβTRANS is CHARACTER*1= 'N': applyH(No transpose)= 'T': applyH**T(Transpose)
DIRECTβDIRECT is CHARACTER*1. It indicates howHis formed from a product of elementary reflectors.= 'F':H = H(1) H(2) . . . H(k)(Forward)= 'B':H = H(k) . . . H(2) H(1)(Backward)
STOREVβSTOREV is CHARACTER*1. It indicates how the vectors which define the elementary reflectors are stored:= 'C': Columnwise= 'R': Rowwise
MβM is INTEGER. The number of rows of the matrixC.NβN is INTEGER. The number of columns of the matrixC.KβK is INTEGER. The order of the matrixT(= the number of elementary reflectors whose product defines the block reflector).- If
SIDE = 'L',M >= K >= 0; - if
SIDE = 'R',N >= K >= 0.
- If
VβV is DOUBLE PRECISION array, dimension:(LDV,K)ifSTOREV = 'C'(LDV,M)ifSTOREV = 'R'andSIDE = 'L'(LDV,N)ifSTOREV = 'R'andSIDE = 'R'
The matrix V. See Further Details. π
LDVβLDV is INTEGER. The leading dimension of the arrayV.- If
STOREV = 'C'andSIDE = 'L',LDV >= max(1,M); - if
STOREV = 'C'andSIDE = 'R',LDV >= max(1,N); - if
STOREV = 'R',LDV >= K.
- If
TβT is DOUBLE PRECISION array, dimension(LDT,K). The triangularkbykmatrixTin the representation of the block reflector.LDTβLDT is INTEGER. The leading dimension of the arrayT.LDT >= K.CβC is DOUBLE PRECISION array, dimension(LDC,N).- On entry, the
mbynmatrixC. - On exit,
Cis overwritten byH*CorH**T*CorC*HorC*H**T.
- On entry, the
LDCβLDC is INTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORK is DOUBLE PRECISION array, dimension(LDWORK,K).LDWORKβLDWORK is INTEGER. The leading dimension of the arrayWORK.- If
SIDE = 'L',LDWORK >= max(1,N); - if
SIDE = 'R',LDWORK >= max(1,M).
- If
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details π₯
The shape of the matrix V and the storage of the vectors which define the H(i) is best illustrated by the following example with n = 5 and k = 3. The triangular part of V (including its diagonal) is not referenced. Periodt. π
DIRECT = 'F' and STOREV = 'C': DIRECT = 'F' and STOREV = 'R':
V = ( 1 ) V = ( 1 v1 v1 v1 v1 )
( v1 1 ) ( 1 v2 v2 v2 )
( v1 v2 1 ) ( 1 v3 v3 )
( v1 v2 v3 )
( v1 v2 v3 )
DIRECT = 'B' and STOREV = 'C': DIRECT = 'B' and STOREV = 'R':
V = ( v1 v2 v3 ) V = ( v1 v1 1 )
( v1 v2 v3 ) ( v2 v2 v2 1 )
( 1 v2 v3 ) ( v3 v3 v3 v3 1 )
( 1 v3 )
( 1 )
π Definition at line 194 of file dlarfb.f π
That's Definition at line 194 of file dlarfb.f. β exact, bestie. π
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay bye bestie, the source/version footer is literally LAPACK Version 3.12.0 SRC/dlarfb.f(3), and it was generated automatically by Doxygen for LAPACK from the source code. Obsessed with this page, ngl. πβ¨π¦
π¦ 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