/home/abui...D/clahrd.f(3)
okay so bestie π welcome to the clahrd.f page in the Library Functions Manual β this one is a whole deprecated LAPACK mood, and we're gonna get into it. No cap.
πΈ NAME πΈ
This page is for this exact file path, character for character:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/DEPRECATED/clahrd.f
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines π«Ά
Here's the subroutine vibe check:
subroutine CLAHRD (n, k, nb, a, lda, tau, t, ldt, y, ldy)
CLAHRD reduces the first nb columns of a general rectangular matrix A so that 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.
π Function/Subroutine Documentation π
The full signature is giving main-character energy:
subroutine CLAHRD (integer n, integer k, integer nb, complex, dimension(
lda, * ) a, integer lda, complex, dimension( nb ) tau, complex,
dimension( ldt, nb ) t, integer ldt, complex, dimension( ldy, nb ) y,
integer ldy)
CLAHRD reduces the first nb columns of a general rectangular matrix A so that 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. Yes, bestie, that's the whole assignment. Fr fr.
π Purpose π
β οΈ deprecated alert β οΈ This routine is deprecated and has been replaced by routine CLAHR2.
So here's the tea: CLAHRD 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. Iconic behavior, honestly. Periodt.
π Parameters π
NβNis INTEGER. It's the order of the matrixA.KβKis INTEGER. It's the offset for the reduction. Elements below thek-th subdiagonal in the firstNBcolumns are reduced to zero.NBβNBis INTEGER. The number of columns to be reduced.AβAis COMPLEX array, dimension(LDA,N-K+1). On entry, then-by-(n-k+1)general matrixA. On exit, the elements on and above thek-th subdiagonal in the firstNBcolumns are overwritten with the corresponding elements of the reduced matrix; the elements below thek-th subdiagonal, with the arrayTAU, represent the matrixQas a product of elementary reflectors. The other columns ofAare unchanged. See Further Details.LDAβLDAis INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).TAUβTAUis COMPLEX array, dimension(NB). The scalar factors of the elementary reflectors. See Further Details.TβTis COMPLEX array, dimension(LDT,NB). The upper triangular matrixT.LDTβLDTis INTEGER. The leading dimension of the arrayT.LDT >= NB.YβYis COMPLEX array, dimension(LDY,NB). Then-by-nbmatrixY.LDYβLDYis INTEGER. The leading dimension of the arrayY.LDY >= max(1,N).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π¦ 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). Obsessed with this notation? Maybe not, but it's literally what's happening.
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).
π Definition at line 166 of file clahrd.f.
Yep, that's where it's defined, bestie.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
kisses and slay, bestie π
this page is from LAPACK Version 3.12.0, and the source path is /home/abui...D/clahrd.f(3) π
π¦ 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