?pttrf
?pttrf
Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.
Syntax
lapack_int LAPACKE_spttrf
(
lapack_int
n
,
float*
d
,
float*
e
);
lapack_int LAPACKE_dpttrf
(
lapack_int
n
,
double*
d
,
double*
e
);
lapack_int LAPACKE_cpttrf
(
lapack_int
n
,
float*
d
,
lapack_complex_float*
e
);
lapack_int LAPACKE_zpttrf
(
lapack_int
n
,
double*
d
,
lapack_complex_double*
e
);
Include Files
- mkl.h
Description
The routine forms the factorization of a symmetric positive-definite or, for complex data, Hermitian positive-definite tridiagonal matrix
A
:A
= L*D*L
T
A
= L*D*L
H
where for real flavors, or for complex flavors, where
D
is diagonal and L
is unit lower bidiagonal. The factorization may also be regarded as having the form A
= U
T
*D*U
A
= U
H
*D*U
U
is unit upper bidiagonal.Input Parameters
- n
- The order of the matrixA;n≥0.
- d
- Array, dimension (n). Contains the diagonal elements ofA.
- e
- Array, dimension (n-1). Contains the subdiagonal elements ofA.
Output Parameters
- d
- Overwritten by thendiagonal elements of the diagonal matrixDfrom theL*D*L(for real flavors) orTL*D*L(for complex flavors) factorization ofHA.
- e
- Overwritten by the(sub-diagonal elements of the unit bidiagonal factorn- 1)LorUfrom the factorization ofA.
Return Values
This function returns a value
info
.If , the execution is successful.
info
= 0If , parameter
info
= -i
i
had an illegal value. If , the leading minor of order , the factorization could not be completed, while if , the factorization was completed, but .
info
= i
i
(and therefore the matrix A
itself) is not positive-definite; if i
< n
i
= n
d
[n
- 1] ≤ 0