hptrd(3)
β¨ NAME β¨
hptrd β {hp,sp}trd: reduction to tridiagonal π
π¦ SYNOPSIS π¦
Functions
subroutine chptrd (uplo, n, ap, d, e, tau, info)β CHPTRDsubroutine dsptrd (uplo, n, ap, d, e, tau, info)β DSPTRDsubroutine ssptrd (uplo, n, ap, d, e, tau, info)β SSPTRDsubroutine zhptrd (uplo, n, ap, d, e, tau, info)β ZHPTRD
π« Detailed Description π«
okay so there's no extra lore here bestie, it just rolls straight into the function docs π
πΈ Function Documentation πΈ
π chptrd β CHPTRD
subroutine chptrd (character uplo, integer n, complex, dimension( * ) ap, real, dimension( * ) d, real, dimension( * ) e, complex, dimension( * ) tau, integer info)
π Purpose
CHPTRD 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βCHARACTER*1.= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored. pick your fighter πNβINTEGER. The order of the matrix A.N >= 0. no negative girlies allowed π«APβCOMPLEX array, dimension (N*(N+1)/2). On entry, 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βREAL array, dimension (N). The diagonal elements of the tridiagonal matrix T:D(i) = A(i,i).EβREAL array, dimension (N-1). The off-diagonal elements of the tridiagonal matrix T:E(i) = A(i,i+1)ifUPLO = 'U',E(i) = A(i+1,i)ifUPLO = 'L'.TAUβCOMPLEX array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details). π«ΆINFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. rude but fair π
π 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 chptrd.f.
π dsptrd β DSPTRD
subroutine dsptrd (character uplo, integer n, double precision, dimension( * ) ap, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( * ) tau, integer info)
π Purpose
DSPTRD reduces a real symmetric matrix A stored in packed form to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T. β¨
π§Έ Parameters
UPLOβCHARACTER*1.= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.NβINTEGER. The order of the matrix A.N >= 0.APβDOUBLE PRECISION array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric 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 orthogonal 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 orthogonal matrix Q as a product of elementary reflectors. See Further Details. π«Ά
DβDOUBLE PRECISION array, dimension (N). The diagonal elements of the tridiagonal matrix T:D(i) = A(i,i).EβDOUBLE PRECISION array, dimension (N-1). The off-diagonal elements of the tridiagonal matrix T:E(i) = A(i,i+1)ifUPLO = 'U',E(i) = A(i+1,i)ifUPLO = 'L'.TAUβDOUBLE PRECISION array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details).INFOβ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**T
where tau is a real scalar, and v is a real 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**T
where tau is a real scalar, and v is a real 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 149 of file dsptrd.f.
π ssptrd β SSPTRD
subroutine ssptrd (character uplo, integer n, real, dimension( * ) ap, real, dimension( * ) d, real, dimension( * ) e, real, dimension( * ) tau, integer info)
π Purpose
SSPTRD reduces a real symmetric matrix A stored in packed form to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T. β¨
π§Έ Parameters
UPLOβCHARACTER*1.= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.NβINTEGER. The order of the matrix A.N >= 0.APβREAL array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric 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 orthogonal 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 orthogonal matrix Q as a product of elementary reflectors. See Further Details. π
DβREAL array, dimension (N). The diagonal elements of the tridiagonal matrix T:D(i) = A(i,i).EβREAL array, dimension (N-1). The off-diagonal elements of the tridiagonal matrix T:E(i) = A(i,i+1)ifUPLO = 'U',E(i) = A(i+1,i)ifUPLO = 'L'.TAUβREAL array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details).INFOβINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value. π
π Author
- Univ. of Tennessee
β¦and the rest of the author lineup for this one is a whole collab: Univ. of California Berkeley, Univ. of Colorado Denver, and NAG Ltd. π«Ά no cap, they ate.
β¨ Further Details β¨
If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors, literally:
Q = H(n-1) . . . H(2) H(1).
Each H(i) has the form:
H(i) = I - tau * v * v**T
where tau is a real scalar, and v is a real 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). Slay.
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**T
where tau is a real scalar, and v is a real 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). Periodt.
Definition at line 149 of file ssptrd.f.
π¦ subroutine zhptrd / ZHPTRD π¦
subroutine zhptrd (character uplo, integer n, complex*16, dimension( * ) ap,
double precision, dimension( * ) d, double precision, dimension( * ) e,
complex*16, dimension( * ) tau, integer info)
π Purpose π
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 πΈ
okay bestie, hereβs the parameter rundown, and yes every single one matters:
UPLOβUPLOisCHARACTER*1.= 'U': the upper triangle ofAis stored;= 'L': the lower triangle ofAis stored.NβNisINTEGER. The order of the matrixA.N >= 0.APβAPisCOMPLEX*16 array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrixA, packed columnwise in a linear array. The j-th column ofAis stored in the arrayAPas follows: ifUPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; ifUPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j)forj<=i<=n. On exit, ifUPLO = 'U', the diagonal and first superdiagonal ofAare overwritten by the corresponding elements of the tridiagonal matrixT, and the elements above the first superdiagonal, with the arrayTAU, represent the unitary matrixQas a product of elementary reflectors; ifUPLO = 'L', the diagonal and first subdiagonal ofAare overwritten by the corresponding elements of the tridiagonal matrixT, and the elements below the first subdiagonal, with the arrayTAU, represent the unitary matrixQas a product of elementary reflectors. See Further Details.DβDisDOUBLE PRECISION array, dimension (N). The diagonal elements of the tridiagonal matrixT:D(i) = A(i,i).EβEisDOUBLE PRECISION array, dimension (N-1). The off-diagonal elements of the tridiagonal matrixT:E(i) = A(i,i+1)ifUPLO = 'U',E(i) = A(i+1,i)ifUPLO = 'L'.TAUβTAUisCOMPLEX*16 array, dimension (N-1). The scalar factors of the elementary reflectors (see Further Details).INFOβINFOisINTEGER.= 0: successful exit;< 0: ifINFO = -i, the i-th argument had an illegal value.
π Author π
shoutout to the author crew:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β¨ Further Details β¨
same reflector vibe but now with complex scalars and vectors β v**H era, iykyk:
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.
and thatβs the whole page, bestie: this one is from LAPACK Version 3.12.0, and itβs the hptrd(3) page β go off, π
β¨.
π¦ 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