SRC/dlarzt.f(3)
β¨ SRC/dlarzt.f(3) β¨ β live from the Library Functions Manual, bestie π«Άπ
πΈ NAME πΈ
SRC/dlarzt.f β thatβs the whole name, and honestly it ate π
β¨ 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 picture this: DLARZT builds the triangular factor T of a real block reflector H of order > n, and that H is defined as a product of k elementary reflectors. No cap, thatβs the whole assignment. π
If DIRECT = 'F', then H = H(1) H(2) . . . H(k) and T is upper triangular. β¬οΈ
If DIRECT = 'B', then H = H(k) . . . H(2) H(1) and T is 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. π¨ So donβt come for the other combos yet β they are not supported, bestie.
π§ 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 reflector H. Constraint: N >= 0. β¨
π
K π
K is INTEGER β the order of the triangular factor T (= the number of elementary reflectors). Constraint: K >= 1. π₯
π V π
V is a DOUBLE PRECISION array, dimension:
(LDV,K)ifSTOREV = 'C'(LDV,N)ifSTOREV = 'R'
This is the matrix V. See further details below, bestie. π«Ά
π― LDV π―
LDV is INTEGER β the leading dimension of the array V. If STOREV = 'C', then LDV >= max(1,N); if STOREV = 'R', then LDV >= K. π
π TAU π
TAU is a DOUBLE PRECISION array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i). β¨
π T π
T is a DOUBLE PRECISION array, dimension (LDT,K) β the k by k triangular factor T of the block reflector. If DIRECT = 'F', T is upper triangular; if DIRECT = 'B', T is lower triangular. The rest of the array is not used. π
π LDT π
LDT is INTEGER β the leading dimension of the array T. Constraint: 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. 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_____
( 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. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Okay thatβs the whole page, bestie β brought to you by LAPACK version 3.12.0 and SRC/dlarzt.f(3). Stay triangular, stay iconic, and donβt forget to restore those array elements on exit ππβ¨
π¦ 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