SLARFB(3)
π NAME π
okay so bestie, you're on the SLARFB(3) page β the manual name up top is Library Functions Manual, and the page path is /home/abui...RC/slarfb.f(3). The file this page is literally about is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slarfb.f
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines πΈ
subroutine SLARFB (side, trans, direct, storev, m, n, k, v, ldv, t, ldt,
c, ldc, work, ldwork)
SLARFB applies a block reflector or its transpose to a general rectangular matrix. periodt π
π¦ Function/Subroutine Documentation π¦
here's the full signature, copied exactly so nobody comes for me:
subroutine SLARFB (character side, character trans, character direct,
character storev, integer m, integer n, integer k, real, dimension( ldv,
* ) v, integer ldv, real, dimension( ldt, * ) t, integer ldt, real,
dimension( ldc, * ) c, integer ldc, real, dimension( ldwork, * ) work,
integer ldwork)
SLARFB applies a block reflector or its transpose to a general rectangular matrix. slay. π¦
π Purpose π
the whole vibe is this: SLARFB 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 tea β
π Parameters π
SIDEβSIDEisCHARACTER*1.= 'L': applyHorH**Tfrom the Left= 'R': applyHorH**Tfrom the Right
TRANSβTRANSisCHARACTER*1.= 'N': applyH(No transpose)= 'T': applyH**T(Transpose)
DIRECTβDIRECTisCHARACTER*1. 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βSTOREVisCHARACTER*1. Indicates how the vectors which define the elementary reflectors are stored:= 'C': Columnwise= 'R': Rowwise
MβMisINTEGER. The number of rows of the matrixC.NβNisINTEGER. The number of columns of the matrixC.KβKisINTEGER. 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βVisREALarray, dimension(LDV,K)ifSTOREV = 'C'(LDV,M)ifSTOREV = 'R'andSIDE = 'L'(LDV,N)ifSTOREV = 'R'andSIDE = 'R'
The matrix V. See Further Details. iykyk π
LDVβLDVisINTEGER. 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βTisREALarray, dimension(LDT,K). The triangularkbykmatrixTin the representation of the block reflector.LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= K.CβCisREALarray, dimension(LDC,N).- On entry, the
mbynmatrixC. - On exit,
Cis overwritten byH*CorH**T*CorC*HorC*H**T.
- On entry, the
LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisREALarray, dimension(LDWORK,K).LDWORKβLDWORKisINTEGER. 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 elements equal to 1 are not stored; the corresponding array elements are modified but restored on exit. The rest of the array is not used.
and here's the diagram, kept exactly as it appears β Doxygen !> sprinkles and all:
!> 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 195 of file slarfb.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page, bestie π cute sign-off time: LAPACK Version 3.12.0, page /home/abui...RC/slarfb.f(3) β the footer I got doesn't show a date, so I'm not inventing one, just sending fairy dust π§β¨π«Ά
π¦ 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