XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zpttrf()

void zpttrf ( int  n,
double  d[],
doublecomplex  e[],
int *  info 
)

LDLH factorization of a Hermitian positive definite tridiagonal matrix

Purpose
This routine computes the L*D*L^H factorization of a Hermitian positive definite tridiagonal matrix A. The factorization may also be regarded as having the form A = U^H*D*U.
Parameters
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns without computation)
[in,out]d[]Array d[ld] (ld >= n)
[in] n diagonal elements of the Hermitian positive definite tridiagonal matrix A.
[out] n diagonal elements of the diagonal matrix D from the L*D*L^H factorization of A.
[in,out]e[]Array e[le] (le >= n - 1)
[in] n-1 sub-diagonal elements of the Hermitian positive definite tridiagonal matrix A.
[out] n-1 sub-diagonal elements of the unit bidiagonal factor L from the L*D*L^H factorization of A. E can also be regarded as the super-diagonal of the unit bidiagonal factor U from the U^H*D*U factorization of A.
[out]info= 0: Successful exit
= -1: The argument n had an illegal value (n < 0)
= i > 0: The leading minor of order i is not positive definite. If i < n, the factorization could not been completed, while if i = n, the factorization was completed, but d[n-1] <= 0.
Reference
LAPACK