?pftri

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

Syntax

FORTRAN 77:

call spftri( transr, uplo, n, a, info )

call dpftri( transr, uplo, n, a, info )

call cpftri( transr, uplo, n, a, info )

call zpftri( transr, uplo, n, a, info )

C:

lapack_int LAPACKE_<?>pftri( int matrix_order, char transr, char uplo, lapack_int n, <datatype>* a );

Include Files

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

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.

transr

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

If transr = 'N', the Normal transr of RFP A is stored.

If transr = 'T', the Transpose transr of RFP A is stored.

If transr = 'C', the Conjugate-Transpose transr of RFP A is stored.

uplo

CHARACTER*1. Must be 'U' or 'L'.

Indicates whether the upper or lower triangular part of the RFP matrix A is stored:

If uplo = 'U', the array a stores the upper triangular part of the matrix A.

If uplo = 'L', the array a stores the lower triangular part of the matrix A.

n

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

a

REAL for spftri

DOUBLE PRECISION for dpftri

COMPLEX for cpftri

DOUBLE COMPLEX for zpftri.

Array, DIMENSION (n*(n+1)/2). The array a contains the matrix A in the RFP format.

Output Parameters

a

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

info

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

If info = -i, the i-th parameter 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.


Submit feedback on this help topic