SRC/slarzt.f(3)
π SRC/slarzt.f(3)
Ok so bestie, buckle up β this is a LAPACK manpage from the SRC/slarzt.f file, and it's genuinely serving linear-algebra main character energy. It's giving "Library Functions Manual" realness, so you already know it's a fortran thing. Let's get into it β¨
π¦ SYNOPSIS
Functions/Subroutines
subroutine slarzt (direct, storev, n, k, v, ldv, tau, t, ldt)β SLARZT forms the triangular factorTof a block reflectorH = I - vtvH. π
β¨ Function/Subroutine Documentation β¨
subroutine slarzt (character direct, character storev, integer n, integer k,
real, dimension( ldv, * ) v, integer ldv, real, dimension( * ) tau,
real, dimension( ldt, * ) t, integer ldt)
SLARZT forms the triangular factor T of a block reflector H = I - vtvH. π
πΈ Purpose
SLARZT forms the triangular factorTof a real block reflectorHof order >n, which is defined as a product ofkelementary reflectors.
If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular;
If DIRECT = 'B', 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, only STOREV = 'R' and DIRECT = 'B' are supported. π (yes bestie, that's a real limitation, don't come for me)
π Parameters
DIRECTβ isCHARACTER*1. 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β isCHARACTER*1. Specifies how the vectors which define the elementary reflectors are stored (see also Further Details):= 'C': columnwise (not supported yet π)= 'R': rowwise π
Nβ isINTEGER. The order of the block reflectorH.N >= 0. β¨Kβ isINTEGER. The order of the triangular factorT(= the number of elementary reflectors).K >= 1. π«ΆVβ isREAL array, dimension
(LDV,K) if STOREV = 'C'
(LDV,N) if STOREV = 'R'
The matrix V. See further details. π
LDVβ isINTEGER. The leading dimension of the arrayV. IfSTOREV = 'C',LDV >= max(1,N); ifSTOREV = 'R',LDV >= K. π¦TAUβ isREAL array, dimension(K).TAU(i)must contain the scalar factor of the elementary reflectorH(i). βTβ isREAL 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β isINTEGER. 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 matrixVand the storage of the vectors which define theH(i)is best illustrated by the following example withn = 5andk = 3. The elements equal to1are 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':
( v1 v2 v3 )
( v1 v2 v3 )
V = ( v1 v2 v3 )
( v1 v2 v3 )
( v1 v2 v3 )
. . .
. . .
1 . .
1 .
1
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':
1
. 1
. . 1
. . .
. . .
( v1 v2 v3 )
( v1 v2 v3 )
V = ( v1 v2 v3 )
( v1 v2 v3 )
( v1 v2 v3 )
DIRECT = 'B' and STOREV = 'R':
______V_____
/ \
( 1 . . . . v1 v1 v1 v1 v1 )
( . 1 . . . v2 v2 v2 v2 v2 )
( . . 1 . . v3 v3 v3 v3 v3 )
1
. 1
. . 1
. . .
. . .
( v1 v2 v3 )
( v1 v2 v3 )
V = ( v1 v2 v3 )
( v1 v2 v3 )
( v1 v2 v3 )
ngl those diagrams are a whole vibe check on their own β stare at them long enough and the row/column storage situation lowkey clicks. πΈ
Definition at line 184 of file slarzt.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page bestie, no skips, no cuts π«Ά β this absolute icon of a manpage is LAPACK, Version 3.12.0, and it came to us courtesy of that Doxygen-for-LAPACK auto-generation pipeline. 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