pttrf#
Functions
-
void spttrf(const INT n, f32 *restrict D, f32 *restrict E, INT *info)#
SPTTRF computes the L*D*L**T factorization of a real symmetric positive definite tridiagonal matrix A.
The factorization may also be regarded as having the form A = U**T*D*U.
Parameters
innThe order of the matrix A.
n>=0.inoutDArray of dimension
n. On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.inoutEArray of dimension
n-1. On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L**T factorization of A. E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U**T*D*U factorization of A.outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=k, the leading principal minor of order k is not positive; ifk<n, the factorization could not be completed, while ifk=n, the factorization was completed, butD(n-1)<=0(0-based).
void spttrf(
const INT n,
f32* restrict D,
f32* restrict E,
INT* info
);
Functions
-
void dpttrf(const INT n, f64 *restrict D, f64 *restrict E, INT *info)#
DPTTRF computes the L*D*L**T factorization of a real symmetric positive definite tridiagonal matrix A.
The factorization may also be regarded as having the form A = U**T*D*U.
Parameters
innThe order of the matrix A.
n>=0.inoutDArray of dimension
n. On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix D from the L*D*L**T factorization of A.inoutEArray of dimension
n-1. On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L**T factorization of A. E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U**T*D*U factorization of A.outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=k, the leading principal minor of order k is not positive; ifk<n, the factorization could not be completed, while ifk=n, the factorization was completed, butD(n-1)<=0(0-based).
void dpttrf(
const INT n,
f64* restrict D,
f64* restrict E,
INT* info
);
Functions
-
void cpttrf(const INT n, f32 *restrict D, c64 *restrict E, INT *info)#
CPTTRF computes the L*D*L**H factorization of a complex Hermitian positive definite tridiagonal matrix A.
The factorization may also be regarded as having the form A = U**H *D*U.
Parameters
innThe order of the matrix A.
n>=0.inoutDArray of dimension
n. On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix D from the L*D*L**H factorization of A.inoutEComplex array of dimension
n-1. On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L**H factorization of A. E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U**H *D*U factorization of A.outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=k, the leading principal minor of order k is not positive; ifk<n, the factorization could not be completed, while ifk=n, the factorization was completed, butD(n-1)<=0(0-based).
void cpttrf(
const INT n,
f32* restrict D,
c64* restrict E,
INT* info
);
Functions
-
void zpttrf(const INT n, f64 *restrict D, c128 *restrict E, INT *info)#
ZPTTRF computes the L*D*L**H factorization of a complex Hermitian positive definite tridiagonal matrix A.
The factorization may also be regarded as having the form A = U**H *D*U.
Parameters
innThe order of the matrix A.
n>=0.inoutDArray of dimension
n. On entry, the n diagonal elements of the tridiagonal matrix A. On exit, the n diagonal elements of the diagonal matrix D from the L*D*L**H factorization of A.inoutEComplex array of dimension
n-1. On entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. On exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L**H factorization of A. E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U**H *D*U factorization of A.outinfoinfo=0: successful exitinfo<0: ifinfo=-k, the k-th argument had an illegal valueinfo>0: ifinfo=k, the leading principal minor of order k is not positive; ifk<n, the factorization could not be completed, while ifk=n, the factorization was completed, butD(n-1)<=0(0-based).
void zpttrf(
const INT n,
f64* restrict D,
c128* restrict E,
INT* info
);