/home/abui...D/zlahrd.f(3)
π NAME π
ok so bestie, this page is literally the manual for this one file, and the file is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/DEPRECATED/zlahrd.f
and it lives inside the Library Functions Manual at /home/abui...D/zlahrd.f(3) β that's the whole vibe, that's the page π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZLAHRD (n, k, nb, a, lda, tau, t, ldt, y, ldy)β bestie, what it does is it reduces the firstnbcolumns of a general rectangular matrixAso that everything below the k-th subdiagonal is straight-up zero, and then it hands back the auxiliary matrices you need to apply that transformation to the part ofAyou haven't reduced yet. iconic behavior honestly π¦
πΈ Function/Subroutine Documentation πΈ
subroutine ZLAHRD (integer n, integer k, integer nb, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( nb ) tau, complex*16, dimension( ldt, nb ) t, integer ldt, complex*16, dimension( ldy, nb ) y, integer ldy)
subroutine ZLAHRD (integer n, integer k, integer nb, complex*16, dimension(
lda, * ) a, integer lda, complex*16, dimension( nb ) tau, complex*16,
dimension( ldt, nb ) t, integer ldt, complex*16, dimension( ldy, nb ) y,
integer ldy)
ZLAHRD reduces the first nb columns of a general rectangular matrix A so that the elements below the k-th subdiagonal are zero, and returns auxiliary matrices which are needed to apply the transformation to the unreduced part of A. slay π
Purpose:
β οΈ DEPRECATED ALERT β οΈ This routine is deprecated and has been replaced by routine ZLAHR2. like, it's giving "still here, still working, but please use the new one" π
ZLAHRD reduces the first NB columns of a complex general n-by-(n-k+1) matrix A so that elements below the k-th subdiagonal are zero. The reduction is performed by a unitary similarity transformation Q**H * A * Q. The routine returns the matrices V and T which determine Q as a block reflector I - V*T*V**H, and also the matrix Y = A * V * T. no cap, that's the whole deal β¨
Parameters
N
N is INTEGER
The order of the matrix A. that's it, that's the girl π
K
K is INTEGER
The offset for the reduction. Elements below the k-th subdiagonal in the first NB columns are reduced to zero. lowkey the starting point of the whole thing π«
NB
NB is INTEGER
The number of columns to be reduced. count em π₯
A
A is COMPLEX*16 array, dimension (LDA,N-K+1)
On entry, the n-by-(n-k+1) general matrix A.
On exit, the elements on and above the k-th subdiagonal in the first NB columns are overwritten with the corresponding elements of the reduced matrix; the elements below the k-th subdiagonal, with the array TAU, represent the matrix Q as a product of elementary reflectors. The other columns of A are unchanged. See Further Details. bestie pls read Further Details, it's important π«Ά
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N). respect the boundary π
TAU
TAU is COMPLEX*16 array, dimension (NB)
The scalar factors of the elementary reflectors. See Further Details. again β Further Details, go read it π
T
T is COMPLEX*16 array, dimension (LDT,NB)
The upper triangular matrix T. triangle supremacy πΊ
LDT
LDT is INTEGER
The leading dimension of the array T. LDT >= NB. don't come in under that π
Y
Y is COMPLEX*16 array, dimension (LDY,NB)
The n-by-nb matrix Y. that's her πΈ
LDY
LDY is INTEGER
The leading dimension of the array Y. LDY >= max(1,N). same energy, different letter β¨
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad really said "we built this" π€
Further Details:
The matrix Q is represented as a product of nb elementary reflectors
Q = H(1) H(2) . . . H(nb).
Each H(i) has the form
H(i) = I - tau * v * v**H
where tau is a complex scalar, and v is a complex vector with v(1:i+k-1) = 0, v(i+k) = 1; v(i+k+1:n) is stored on exit in A(i+k+1:n,i), and tau in TAU(i). okay so that's the lore π§
The elements of the vectors v together form the (n-k+1)-by-nb matrix V which is needed, with T and Y, to apply the transformation to the unreduced part of the matrix, using an update of the form: A := (I - V*T*V**H) * (A - Y*V**H).
The contents of A on exit are illustrated by the following example with n = 7, k = 3 and nb = 2:
( a h a a a )
( a h a a a )
( a h a a a )
( h h a a a )
( v1 h a a a )
( v1 v2 a a a )
( v1 v2 a a a )
where a denotes an element of the original matrix A, h denotes a modified element of the upper Hessenberg matrix H, and vi denotes an element of the vector defining H(i). literal legend behavior, the diagram ate π
π Definition at line 166 of file zlahrd.f.
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code. not a human, just vibes and a parser π
and that's the page bestie!! π it's LAPACK, Version 3.12.0, signed off from /home/abui...D/zlahrd.f(3) β go reduce some columns, love u, bye πβ¨
π¦ 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