SRC/chptrd.f(3)
SRC/chptrd.f(3) β Library Functions Manual vibes π
β¨ NAME β¨
SRC/chptrd.f
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine chptrd (uplo, n, ap, d, e, tau, info)
CHPTRD
π οΈ Function/Subroutine Documentation π οΈ
subroutine chptrd (character uplo, integer n, complex, dimension( * ) ap,
real, dimension( * ) d, real, dimension( * ) e, complex, dimension( * )
tau, integer info)
CHPTRD
π― Purpose
okay so bestie, CHPTRD is out here reducing 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. iconic behavior, honestly. π
π¦ Parameters
UPLOβUPLO is CHARACTER*1;= 'U':upper triangle of A is stored;= 'L':lower triangle of A is stored.NβN is INTEGER; the order of the matrix A.N >= 0.APβAP is COMPLEX 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)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j)forj<=i<=n.
- if
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 for the lore.
DβD is REAL array, dimension (N); the diagonal elements of the tridiagonal matrix T:D(i) = A(i,i).EβE is 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βTAU is COMPLEX array, dimension (N-1); 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 chptrd.f.
This whole function definition lives at line 150 of chptrd.f. noted, bestie π«Ά
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
that's the page, bestie! The footer cuties are LAPACK Version 3.12.0 and SRC/chptrd.f(3) β no date line on this one, just those source/version details. πβ¨
π¦ 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