Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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*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 U is unit upper bidiagonal.

Input Parameters

n

The order of the matrix A; n 0.

d

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

e

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) sub-diagonal elements of the unit bidiagonal factor L or U from the factorization of A.

Return Values

This function returns a value info.

If info = 0, the execution is successful.

If info = -i, parameter i 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 - 1] ≤ 0.