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

?pftri

Computes the inverse of a symmetric (Hermitian) positive-definite matrix in RFP format using the Cholesky factorization.

Syntax

lapack_int LAPACKE_spftri (int matrix_layout , char transr , char uplo , lapack_int n , float * a );

lapack_int LAPACKE_dpftri (int matrix_layout , char transr , char uplo , lapack_int n , double * a );

lapack_int LAPACKE_cpftri (int matrix_layout , char transr , char uplo , lapack_int n , lapack_complex_float * a );

lapack_int LAPACKE_zpftri (int matrix_layout , char transr , char uplo , lapack_int n , lapack_complex_double * a );

Include Files

  • mkl.h

Description

The routine computes the inverse inv(A) of a symmetric positive definite or, for complex data, Hermitian positive-definite matrix A using the Cholesky factorization:

A = UT*U for real data, A = UH*U for complex data if uplo='U'
A = L*LT for real data, A = L*LH for complex data if uplo='L'

Before calling this routine, call ?pftrf to factorize A.

The matrix A is in the Rectangular Full Packed (RFP) format. For the description of the RFP format, see Matrix Storage Schemes.

Input Parameters

matrix_layout

Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).

transr

Must be 'N', 'T' (for real data) or 'C' (for complex data).

If transr = 'N', the Normal transr of RFP U (if uplo = 'U') or L (if uplo = 'L') is stored.

If transr = 'T', the Transpose transr of RFP U (if uplo = 'U') or L (if uplo = 'L' is stored.

If transr = 'C', the Conjugate-Transpose transr of RFP U (if uplo = 'U') or L (if uplo = 'L' is stored.

uplo

Must be 'U' or 'L'.

Indicates how the input matrix A has been factored:

If uplo = 'U', A = UT*U for real data or A = UH*U for complex data, and U is stored.

If uplo = 'L', A = L*LT for real data or A = L*LH for complex data, and L is stored.

n

The order of the matrix A; n 0.

a

Array, size (n*(n+1)/2). The array a contains the factor U or L matrix A in the RFP format.

Output Parameters

a

The symmetric/Hermitian inverse of the original matrix in the same storage format.

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 (i,i) element of the factor U or L is zero, and the inverse could not be computed.