ZLARFB(3)
β¨ NAME β¨
This page lives in the LAPACK Library Functions Manual as ZLARFB(3), with the header path /home/abui...RC/zlarfb.f(3). The NAME line is literally this long path, bestie:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlarfb.f
No cap, that whole path is the name. π
πΈ SYNOPSIS πΈ
π«Ά Functions/Subroutines π«Ά
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.
π¦ Function/Subroutine Documentation π¦
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.
π― 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. That's the whole vibe: block reflector, conjugate-transpose, rectangular matrix, left or right. Iconic. β¨
π Parameters π
SIDEβSIDE is CHARACTER*1= 'L': apply H or H**H from the Left= 'R': apply H or H**H from the Right
TRANSβTRANS is CHARACTER*1= 'N': apply H (No transpose)= 'C': apply H**H (Conjugate transpose)
DIRECTβDIRECT is CHARACTER*1. Indicates how H is 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 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). IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.VβV is COMPLEX*16 array, dimension(LDV,K) if STOREV = 'C'(LDV,M) if STOREV = 'R' and SIDE = 'L'(LDV,N) if STOREV = 'R' and SIDE = 'R'
See Further Details.
LDVβLDV is INTEGER. The leading dimension of the array V. 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 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*16 array, dimension (LDC,N). On entry, the M-by-N matrix C. On exit, C is overwritten byH*CorH**H*CorC*HorC*H**H.LDCβLDC is INTEGER. The leading dimension of the array C.LDC >= max(1,M).WORKβWORK is COMPLEX*16 array, dimension (LDWORK,K).LDWORKβLDWORK is INTEGER. The leading dimension of the array WORK. IfSIDE = 'L',LDWORK >= max(1,N); ifSIDE = 'R',LDWORK >= max(1,M).
Constraint check, bestie: those >= bounds are not suggestions. They are the vibe check for your array dimensions. π
π 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.
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 zlarfb.f.
π Author (Doxygen-generated note) π
Generated automatically by Doxygen for LAPACK from the source code.
source/version: LAPACK Version 3.12.0; footer path: /home/abui...RC/zlarfb.f(3) β no separate date shown in that footer line, periodt. ππ
π¦ 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