?pttrf

Computes the factorization of a symmetric (Hermitian) positive-definite tridiagonal matrix.

Syntax

FORTRAN 77:

call spttrf( n, d, e, info )

call dpttrf( n, d, e, info )

call cpttrf( n, d, e, info )

call zpttrf( n, d, e, info )

FORTRAN 95:

call pttrf( d, e [,info] )

C:

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

Description

The routine forms the factorization of a symmetric positive-definite or, for complex data, Hermitian positive-definite tridiagonal matrix A:

A = L*D*LT for real flavors, or

A = L*D*LH for complex flavors,

where D is diagonal and L is unit lower bidiagonal. The factorization may also be regarded as having the form A = UT*D*U for real flavors, or A = UH*D*U for complex flavors, where D is unit upper bidiagonal.

Input Parameters

The data types are given for the Fortran interface. A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.

n

INTEGER. The order of the matrix A; n 0.

d

REAL for spttrf, cpttrf

DOUBLE PRECISION for dpttrf, zpttrf.

Array, dimension (n). Contains the diagonal elements of A.

e

REAL for spttrf

DOUBLE PRECISION for dpttrf

COMPLEX for cpttrf

DOUBLE COMPLEX for zpttrf. Array, dimension (n -1). Contains the subdiagonal elements of A.

Output Parameters

d

Overwritten by the n diagonal elements of the diagonal matrix D from the L*D*LT (for real flavors) or L*D*LH (for complex flavors) factorization of A.

e

Overwritten by the (n - 1) off-diagonal elements of the unit bidiagonal factor L or U from the factorization of A.

info

INTEGER. If info = 0, the execution is successful.

If info = -i, the i-th parameter had an illegal value.

If info = i, the leading minor of order i (and therefore the matrix A itself) is not positive-definite; if i < n, the factorization could not be completed, while if i = n, the factorization was completed, but d(n) ≤ 0.

Fortran 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see Fortran 95 Interface Conventions.

Specific details for the routine pttrf interface are as follows:

d

Holds the vector of length n.

e

Holds the vector of length (n-1).


Submit feedback on this help topic