larzb(3)
π¦ NAME π¦
larzb β bestie, this is the "apply block reflector" situation, the LAPACK-level glow-up where a block reflector H (or its transpose / conjugate-transpose) gets applied to a general matrix C. Real ones know.
β¨ SYNOPSIS β¨
Functions
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.subroutine dlarzb (side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, c, ldc, work, ldwork)β DLARZB applies a block reflector or its transpose to a general matrix.subroutine slarzb (side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, c, ldc, work, ldwork)β SLARZB applies a block reflector or its transpose to a general matrix.subroutine zlarzb (side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, c, ldc, work, ldwork)β ZLARZB applies a block reflector or its conjugate-transpose to a general matrix.
π Detailed Description
Okay so like β the whole family is here: the C (complex), D (double precision), S (real), and Z (double complex) versions, all living their main character energy in the same manpage. Same signature shape, different precision flavour. Pick the one that matches your data type and go π
π Function 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. β¨
Purpose
CLARZB applies a complex block reflector H, or its transpose H**H, to a complex distributed M-by-N C β and it can come at it from the left or the right, whatever the vibe calls for.
π¨ Real talk: currently, onlySTOREV = 'R'andDIRECT = 'B'are supported. Anything else? Not today, bestie.
Parameters
SIDEβSIDEisCHARACTER*1.= 'L': apply H or H**H from the Left.= 'R': apply H or H**H from the Right. Pick a lane π«ΆTRANSβTRANSisCHARACTER*1.= 'N': apply H (No transpose).= 'C': apply H**H (Conjugate transpose).DIRECTβDIRECTisCHARACTER*1. It tells you how H is formed from a product of elementary reflectors.= 'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet π).= 'B':H = H(k) . . . H(2) H(1)(Backward).STOREVβSTOREVisCHARACTER*1. It tells you how the vectors defining the elementary reflectors are stored:= 'C': Columnwise (not supported yet π).= '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). It's giving "how many reflectors are we stacking" energy.LβLisINTEGER. The number of columns of the matrixVcontaining the meaningful part of the Householder reflectors. IfSIDE = 'L',M >= L >= 0; ifSIDE = 'R',N >= L >= 0.VβVisCOMPLEX array, dimension (LDV,NV). IfSTOREV = 'C',NV = K; ifSTOREV = 'R',NV = L.LDVβLDVisINTEGER. The leading dimension of the arrayV. IfSTOREV = 'C',LDV >= L; ifSTOREV = 'R',LDV >= K.TβTisCOMPLEX array, dimension (LDT,K). The triangular K-by-K matrixTin the representation of the block reflector. Iconic triangle, no notes.LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= K.CβCisCOMPLEX array, dimension (LDC,N). On entry, the M-by-N matrixC. On exit,Cis overwritten byH*CorH**H*CorC*HorC*H**H. Yes, it gets replaced β that's the whole point πLDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisCOMPLEX array, dimension (LDWORK,K).LDWORKβLDWORKisINTEGER. 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.
Contributors:
A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
Further Details:
(nothing more here β that section is literally empty, no cap π«Ά)
Definition at line 181 of file clarzb.f.
subroutine dlarzb
subroutine dlarzb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, integer l, 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)
DLARZB applies a block reflector or its transpose to a general matrix. Same slay, double precision edition π
Purpose
DLARZB applies a real block reflector H, or its transpose H**T, to a real distributed M-by-N C from the left or the right.
π¨ And again: currently, onlySTOREV = 'R'andDIRECT = 'B'are supported.
Parameters
SIDEβSIDEisCHARACTER*1.= 'L': apply H or H**T from the Left.= 'R': apply H or H**T from the Right.TRANSβTRANSisCHARACTER*1.= 'N': apply H (No transpose).= 'C': apply H**T (Transpose). (Note the real-math spelling:'C'here means transpose, bestie, not conjugate-transpose.)DIRECTβDIRECTisCHARACTER*1. Indicates how H is formed from a product of elementary reflectors.= 'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet).= '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 (not supported yet).= '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).LβLisINTEGER. The number of columns of the matrixVcontaining the meaningful part of the Householder reflectors. IfSIDE = 'L',M >= L >= 0, ifSIDE = 'R',N >= L >= 0.VβVisDOUBLE PRECISION array, dimension (LDV,NV). IfSTOREV = 'C',NV = K; ifSTOREV = 'R',NV = L.LDVβLDVisINTEGER. The leading dimension of the arrayV. IfSTOREV = 'C',LDV >= L; ifSTOREV = 'R',LDV >= K.TβTisDOUBLE PRECISION array, dimension (LDT,K). The triangular K-by-K matrixTin the representation of the block reflector.LDTβLDTisINTEGER. The leading dimension of the arrayT.LDT >= K.CβCisDOUBLE PRECISION array, dimension (LDC,N). On entry, the M-by-N matrixC. On exit,Cis overwritten byH*CorH**T*CorC*HorC*H**T.LDCβLDCisINTEGER. The leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisDOUBLE PRECISION array, dimension (LDWORK,K).LDWORKβLDWORKisINTEGER. 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.
Contributors:
A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
Further Details:
(empty section, moving on β¨)
Definition at line 181 of file dlarzb.f.
subroutine slarzb
subroutine slarzb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, integer l, real,
dimension( ldv, * ) v, integer ldv, real, dimension( ldt, * ) t, integer
ldt, real, dimension( ldc, * ) c, integer ldc, real, dimension( ldwork,
* ) work, integer ldwork)
SLARZB applies a block reflector or its transpose to a general matrix. Single precision, same energy πΈ
Purpose
SLARZB applies a real block reflector H, or its transpose H**T, to a real distributed M-by-N C from the left or the right.
π¨ You already know the drill: currently, onlySTOREV = 'R'andDIRECT = 'B'are supported.
Parameters
SIDEβSIDEisCHARACTER*1.= 'L': apply H or H**T from the Left.= 'R': apply H or H**T from the Right.TRANSβTRANSisCHARACTER*1.= 'N': apply H (No transpose).= 'C': apply H**T (Transpose).DIRECTβDIRECTisCHARACTER*1. Indicates how H is formed from a product of elementary reflectors.= 'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet).= '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 (not supported yet).= 'R': Rowwise.MβMisINTEGER. The number of rows of the matrixC.NβNisINTEGER. The number of columns of the matrixC.
Picking up mid-parameter-list, no recap, letβs go π
LβLisINTEGER. Itβs the number of columns of matrixVcontaining the meaningful part of the Householder reflectors. IfSIDE = 'L',M >= L >= 0; ifSIDE = 'R',N >= L >= 0.VβVisREAL array, dimension (LDV,NV). IfSTOREV = 'C',NV = K; ifSTOREV = 'R',NV = L.LDVβLDVisINTEGER, the leading dimension of arrayV. IfSTOREV = 'C',LDV >= L; ifSTOREV = 'R',LDV >= K.TβTisREAL array, dimension (LDT,K), the triangularK-by-KmatrixTin the representation of the block reflector.LDTβLDTisINTEGER, the leading dimension of arrayT.LDT >= K.CβCisREAL array, dimension (LDC,N). On entry, itβs theM-by-NmatrixC. On exit,Cis overwritten byH*CorH**T*CorC*HorC*H**T.LDCβLDCisINTEGER, the leading dimension of arrayC.LDC >= max(1,M).WORKβWORKisREAL array, dimension (LDWORK,K).LDWORKβLDWORKisINTEGER, the leading dimension of 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.
π«Ά Contributors π«Ά
A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
π Further Details π
The original gives us an empty !> here β thatβs literally it, no extra tea π«Ά
Definition at line 181 of file slarzb.f.
π subroutine zlarzb π
subroutine zlarzb (character side, character trans, character direct,
character storev, integer m, integer n, integer k, integer l,
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)
π― Purpose π―
ZLARZB 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.
π¨ Currently, onlySTOREV = 'R'andDIRECT = 'B'are supported.
πΈ Parameters πΈ
SIDEβSIDEisCHARACTER*1.'L': applyHorH**Hfrom the Left;'R': applyHorH**Hfrom the Right.TRANSβTRANSisCHARACTER*1.'N': applyH(No transpose);'C': applyH**H(Conjugate transpose).DIRECTβDIRECTisCHARACTER*1. It indicates howHis formed from a product of elementary reflectors.'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet);'B':H = H(k) . . . H(2) H(1)(Backward).STOREVβSTOREVisCHARACTER*1. It indicates how the vectors which define the elementary reflectors are stored:'C': Columnwise (not supported yet);'R': Rowwise.MβMisINTEGER, the number of rows of matrixC.NβNisINTEGER, the number of columns of matrixC.KβKisINTEGER, the order of matrixT(= the number of elementary reflectors whose product defines the block reflector).LβLisINTEGER, the number of columns of matrixVcontaining the meaningful part of the Householder reflectors. IfSIDE = 'L',M >= L >= 0; ifSIDE = 'R',N >= L >= 0.VβVisCOMPLEX*16 array, dimension (LDV,NV). IfSTOREV = 'C',NV = K; ifSTOREV = 'R',NV = L.LDVβLDVisINTEGER, the leading dimension of the arrayV. IfSTOREV = 'C',LDV >= L; ifSTOREV = 'R',LDV >= K.TβTisCOMPLEX*16 array, dimension (LDT,K), the triangularK-by-KmatrixTin the representation of the block reflector.LDTβLDTisINTEGER, the leading dimension of the arrayT.LDT >= K.CβCisCOMPLEX*16 array, dimension (LDC,N). On entry, theM-by-NmatrixC. On exit,Cis overwritten byH*CorH**H*CorC*HorC*H**H.LDCβLDCisINTEGER, the leading dimension of the arrayC.LDC >= max(1,M).WORKβWORKisCOMPLEX*16 array, dimension (LDWORK,K).LDWORKβLDWORKisINTEGER, 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.
π«Ά Contributors π«Ά
A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA
π Further Details π
The original gives us an empty !> here too β iconic minimalism, no extra details β¨
Definition at line 181 of file zlarzb.f.
π€ Author π€
Generated automatically by Doxygen for LAPACK from the source code.
π Thatβs the whole larzb(3) page, bestie β source/version: LAPACK, version 3.12.0. The footer doesnβt give a separate date, so no invented date here, 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