DLARZT(3)
DLARZT(3) π β¨
okay so bestie, welcome to the dlarzt.f(3) page from the Library Functions Manual β yes, we're doing Fortran block-reflector math and we're doing it cute. π¦
NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlarzt.f
SYNOPSIS π
Functions/Subroutines β¨
subroutine DLARZT (direct, storev, n, k, v, ldv, tau, t, ldt)β DLARZT forms the triangular factor T of a block reflector H = I - vtvH.
Function/Subroutine Documentation π¦
subroutine DLARZT (character direct, character storev, integer n, integer k,
double precision, dimension( ldv, * ) v, integer ldv, double precision,
dimension( * ) tau, double precision, dimension( ldt, * ) t, integer
ldt)
DLARZT forms the triangular factor T of a block reflector H = I - vtvH.
Purpose π
okay so here's the tea: DLARZT builds the triangular factor T of a real block reflector H of order > n, and H is defined as a product of k elementary reflectors.
- If
DIRECT = 'F', thenH = H(1) H(2) . . . H(k)andTis upper triangular. - If
DIRECT = 'B', thenH = H(k) . . . H(2) H(1)andTis lower triangular.
If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and:
H = I - V * T * V**T
If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and:
H = I - V**T * T * V
Currently, onlySTOREV = 'R'andDIRECT = 'B'are supported. That's the whole supported vibe, no cap. π
Parameters π«Ά
DIRECTβDIRECT is CHARACTER*1. It specifies the order in which the elementary reflectors are multiplied to form the block reflector:= 'F':H = H(1) H(2) . . . H(k)(Forward, not supported yet)= 'B':H = H(k) . . . H(2) H(1)(Backward)
STOREVβSTOREV is CHARACTER*1. It specifies how the vectors which define the elementary reflectors are stored (see also Further Details):= 'C': columnwise (not supported yet)= 'R': rowwise
NβN is INTEGER. The order of the block reflectorH.N >= 0.KβK is INTEGER. The order of the triangular factorT(= the number of elementary reflectors).K >= 1.VβV is DOUBLE PRECISION array, dimension
(LDV,K) if STOREV = 'C'
(LDV,N) if STOREV = 'R'
The matrix V. See further details.
LDVβLDV is INTEGER. The leading dimension of the arrayV. IfSTOREV = 'C',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K.TAUβTAU is DOUBLE PRECISION array, dimension (K).TAU(i)must contain the scalar factor of the elementary reflectorH(i).TβT is DOUBLE PRECISION array, dimension (LDT,K). Thekbyktriangular factorTof the block reflector. IfDIRECT = 'F',Tis upper triangular; ifDIRECT = 'B',Tis lower triangular. The rest of the array is not used.LDTβLDT is INTEGER. The leading dimension of the arrayT.LDT >= K.
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 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. 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_____
( v1 v2 v3 ) / \
( v1 v2 v3 ) ( v1 v1 v1 v1 v1 . . . . 1 )
V = ( v1 v2 v3 ) ( v2 v2 v2 v2 v2 . . . 1 )
( v1 v2 v3 ) ( v3 v3 v3 v3 v3 . . 1 )
( v1 v2 v3 )
. . .
. . .
1 . .
1 .
1
DIRECT = 'B' and STOREV = 'C': DIRECT = 'B' and STOREV = 'R':
______V_____
1 / \
. 1 ( 1 . . . . v1 v1 v1 v1 v1 )
. . 1 ( . 1 . . . v2 v2 v2 v2 v2 )
. . . ( . . 1 . . v3 v3 v3 v3 v3 )
. . .
( v1 v2 v3 )
( v1 v2 v3 )
V = ( v1 v2 v3 )
( v1 v2 v3 )
( v1 v2 v3 )
Definition at line 184 of file dlarzt.f π
Definition at line 184 of file dlarzt.f.
Author π€
Generated automatically by Doxygen for LAPACK from the source code.
k bye bestie π this page is serving LAPACK Version 3.12.0 energy, with the file path vibe of /home/abui...RC/dlarzt.f(3). 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