larfb(3)
π NAME π
larfb(3) β straight from the Library Functions Manual β is all about larfb: apply block Householder reflector. Bestie, itβs giving block-reflector main character energy. π
β¨
β¨ SYNOPSIS β¨
π§ Functions
πΈ clarfb πΈ
subroutine clarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt,
c, ldc, work, ldwork)
CLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix.
π¦ dlarfb π¦
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.
π slarfb π
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.
π zlarfb π
subroutine zlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt,
c, ldc, work, ldwork)
ZLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix.
π Detailed Description π
Okay so this is the detailed part, and the function docs are right below. Buckle up, bestie β thereβs a lot of literal parameter tea here. π
π Function Documentation π
πΈ subroutine clarfb πΈ
subroutine clarfb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, complex, dimension(
ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t, integer ldt,
complex, dimension( ldc, * ) c, integer ldc, complex, dimension( ldwork,
* ) work, integer ldwork)
CLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix.
β¨ Purpose
CLARFB applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right. π
πΈ Parameters
SIDEβCHARACTER*1.'L'means applyHorH**Hfrom the Left;'R'means applyHorH**Hfrom the Right. π«ΆTRANSβCHARACTER*1.'N'means applyH(No transpose);'C'means applyH**H(Conjugate transpose). πDIRECTβCHARACTER*1. This tells you howHis formed from a product of elementary reflectors:'F'givesH = H(1) H(2) . . . H(k)(Forward);'B'givesH = H(k) . . . H(2) H(1)(Backward). β¨STOREVβCHARACTER*1. This tells you how the vectors which define the elementary reflectors are stored:'C'means Columnwise;'R'means Rowwise. π¦MβINTEGER. The number of rows of the matrixC. πNβINTEGER. The number of columns of the matrixC. πKβINTEGER. The order of the matrixT(= the number of elementary reflectors whose product defines the block reflector). IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0. πVβCOMPLEX array, dimension(LDV,K)ifSTOREV = 'C';(LDV,M)ifSTOREV = 'R'andSIDE = 'L';(LDV,N)ifSTOREV = 'R'andSIDE = 'R'. The matrixV. See Further Details. πLDVβINTEGER. The leading dimension of the arrayV. IfSTOREV = 'C'andSIDE = 'L',LDV >= max(1,M); ifSTOREV = 'C'andSIDE = 'R',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K. π―TβCOMPLEX array, dimension(LDT,K). The triangularK-by-KmatrixTin the representation of the block reflector. π₯LDTβINTEGER. The leading dimension of the arrayT.LDT >= K. π§CβCOMPLEX array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byH*CorH**H*CorC*HorC*H**H. πLDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M). πWORKβCOMPLEX array, dimension(LDWORK,K). πLDWORKβINTEGER. The leading dimension of the arrayWORK. IfSIDE = 'L',LDWORK >= max(1,N); ifSIDE = 'R',LDWORK >= max(1,M). π
π 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. π
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 clarfb.f. π
π₯ subroutine dlarfb π₯
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.
β¨ Purpose
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. π
π¦ Parameters
SIDEβCHARACTER*1.'L'means applyHorH**Tfrom the Left;'R'means applyHorH**Tfrom the Right. π«ΆTRANSβCHARACTER*1.'N'means applyH(No transpose);'T'means applyH**T(Transpose). πDIRECTβCHARACTER*1. This tells you howHis formed from a product of elementary reflectors:'F'givesH = H(1) H(2) . . . H(k)(Forward);'B'givesH = H(k) . . . H(2) H(1)(Backward). β¨STOREVβCHARACTER*1. This tells you how the vectors which define the elementary reflectors are stored:'C'means Columnwise;'R'means Rowwise. π¦MβINTEGER. The number of rows of the matrixC. πNβINTEGER. The number of columns of the matrixC. πKβINTEGER. The order of the matrixT(= the number of elementary reflectors whose product defines the block reflector). IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0. πVβDOUBLE PRECISION array, dimension(LDV,K)ifSTOREV = 'C';(LDV,M)ifSTOREV = 'R'andSIDE = 'L';(LDV,N)ifSTOREV = 'R'andSIDE = 'R'. The matrixV. See Further Details. πLDVβINTEGER. The leading dimension of the arrayV. IfSTOREV = 'C'andSIDE = 'L',LDV >= max(1,M); ifSTOREV = 'C'andSIDE = 'R',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K. π―TβDOUBLE PRECISION array, dimension(LDT,K). The triangularkbykmatrixTin the representation of the block reflector. π₯LDTβINTEGER. The leading dimension of the arrayT.LDT >= K. π§CβDOUBLE PRECISION array, dimension(LDC,N). On entry, thembynmatrixC. On exit,Cis overwritten byH*CorH**T*CorC*HorC*H**T. πLDCβINTEGER. The leading dimension of the arrayC.LDC >= max(1,M). πWORKβDOUBLE PRECISION array, dimension(LDWORK,K). πLDWORKβINTEGER. The leading dimension of the arrayWORK. IfSIDE = 'L',LDWORK >= max(1,N); ifSIDE = 'R',LDWORK >= max(1,M). π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details
okay so hereβs the visual, bestie β the shape of V and how the vectors that define the H(i) are stored is literally best illustrated by this example with n = 5 and k = 3. The triangular part of V (diagonal included) is not referenced, so donβt come for it π
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.
π subroutine slarfb
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. Real ones only, bestie β this is the REAL girlie π
β¨ Purpose
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.
π«Ά 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. Tells you 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. Tells you 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). IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.VβV is REAL array, dimension(LDV,K)ifSTOREV = 'C';(LDV,M)ifSTOREV = 'R'andSIDE = 'L';(LDV,N)ifSTOREV = 'R'andSIDE = 'R'. The matrixV. See Further Details.LDVβLDV is INTEGER. The leading dimension of the arrayV. IfSTOREV = 'C'andSIDE = 'L',LDV >= max(1,M); ifSTOREV = 'C'andSIDE = 'R',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K.TβT is REAL 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 REAL array, dimension(LDC,N). On entry, thembynmatrixC. On exit,Cis overwritten byH*CorH**T*CorC*HorC*H**T.LDCβLDC is INTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORK is REAL array, dimension(LDWORK,K).LDWORKβLDWORK is INTEGER. The leading dimension of the arrayWORK. IfSIDE = 'L',LDWORK >= max(1,N); ifSIDE = 'R',LDWORK >= max(1,M).
π 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.
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 slarfb.f.
π subroutine zlarfb
subroutine zlarfb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, complex*16,
dimension( ldv, * ) v, integer ldv, complex*16, dimension( ldt, * ) t,
integer ldt, complex*16, dimension( ldc, * ) c, integer ldc, complex*16,
dimension( ldwork, * ) work, integer ldwork)
ZLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix. And yes, sheβs COMPLEX*16 β weβre in our complex era π₯
β¨ Purpose
ZLARFB applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right.
π«Ά 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. 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. 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). IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.VβV is COMPLEX*16 array, dimension(LDV,K)ifSTOREV = 'C';(LDV,M)ifSTOREV = 'R'andSIDE = 'L';(LDV,N)ifSTOREV = 'R'andSIDE = 'R'. See Further Details.LDVβLDV is INTEGER. The leading dimension of the arrayV. IfSTOREV = 'C'andSIDE = 'L',LDV >= max(1,M); ifSTOREV = 'C'andSIDE = 'R',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K.TβT is COMPLEX*16 array, dimension(LDT,K). The triangularK-by-KmatrixTin the representation of the block reflector.LDTβLDT is INTEGER. The leading dimension of the arrayT.LDT >= K.CβC is COMPLEX*16 array, dimension(LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byH*CorH**H*CorC*HorC*H**H.LDCβLDC is INTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORK is COMPLEX*16 array, dimension(LDWORK,K).LDWORKβLDWORK is INTEGER. The leading dimension of the arrayWORK. IfSIDE = 'L',LDWORK >= max(1,N); ifSIDE = 'R',LDWORK >= max(1,M).
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
πΈ Further Details
okay so bestie, the shape of the matrix V and the storage of the vectors which define the H(i) is best illustrated by this example with n = 5 and k = 3. and lowkey important: the triangular part of V (including its diagonal) is not referenced β don't @ me, that's just how it is π
!> 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 )
!>
π oh and btw, the definition is at line 194 of file zlarfb.f β slay.
π AUTHOR π
this whole page was generated automatically by Doxygen for LAPACK from the source code. no cap, the robots did it π β¨
anyway bestie, that's the whole page! it's from LAPACK Version 3.12.0, and the page is larfb(3) β stay iconic ππ¦πΈ
π¦ 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