SRC/zhptrd.f(3)
π SRC/zhptrd.f(3) β Library Functions Manual
okay bestie, this page is from the Library Functions Manual and it's all about SRC/zhptrd.f. no cap, it's giving βLAPACK source documentationβ energy and I'm obsessed. π
πΈ NAME
SRC/zhptrd.f β that's the name, that's the whole name, and it's literally the file this page is documenting. π
β¨ SYNOPSIS
π§ Functions/Subroutines
subroutine zhptrd (uplo, n, ap, d, e, tau, info)β the callable routine, right here, ready to slay.ZHPTRDβ the routine's name, loud and clear.
π Function/Subroutine Documentation
subroutine zhptrd (character uplo, integer n, complex*16, dimension( * ) ap,
double precision, dimension( * ) d, double precision, dimension( * ) e,
complex*16, dimension( * ) tau, integer info)
ZHPTRD
π‘ Purpose:
bestie, here's the whole vibe: ZHPTRD reduces a complex Hermitian matrix A stored in packed form to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q = T. π¦
π Parameters
UPLO
UPLO is CHARACTER*1.
= 'U'β Upper triangle of A is stored;= 'L'β Lower triangle of A is stored.
N
N is INTEGER. It's the order of the matrix A. N >= 0. periodt. β¨
AP
AP is COMPLEX*16 array, dimension (N*(N+1)/2).
On entry, it holds the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
On exit, if UPLO = 'U', the diagonal and first superdiagonal of A are overwritten by the corresponding elements of the tridiagonal matrix T, and the elements above the first superdiagonal, with the array TAU, represent the unitary matrix Q as a product of elementary reflectors; if UPLO = 'L', the diagonal and first subdiagonal of A are over-written by the corresponding elements of the tridiagonal matrix T, and the elements below the first subdiagonal, with the array TAU, represent the unitary matrix Q as a product of elementary reflectors. See Further Details. π
D
D is DOUBLE PRECISION array, dimension (N).
It holds the diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). π
E
E is DOUBLE PRECISION array, dimension (N-1).
It holds the off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'. πΈ
TAU
TAU is COMPLEX*16 array, dimension (N-1).
These are the scalar factors of the elementary reflectors (see Further Details). π§
INFO
INFO is INTEGER.
= 0β successful exit< 0β ifINFO = -i, the i-th argument had an illegal value
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π¦ Further Details:
If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors
Q = H(n-1) . . . H(2) H(1).
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(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, overwriting A(1:i-1,i+1), and tau is stored in TAU(i). β¨
If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors
Q = H(1) H(2) . . . H(n-1).
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) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, overwriting A(i+2:n,i), and tau is stored in TAU(i). π«
π Definition at line 150 of file zhptrd.f.
π«Ά Author
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie πβ¨ LAPACK Version 3.12.0 and SRC/zhptrd.f(3) β mwah, bye! π¦π
π¦ 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