?pftri
?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(
of a symmetric positive definite or, for complex data, Hermitian positive-definite matrix A
)A
using the Cholesky factorization:A = U T *U A = U H *U | if uplo ='U' |
A = L*L T A = L*L H | 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).Iftransr='N', the Normaltransrof RFPU(ifuplo='U') orL(ifuplo='L') is stored.Iftransr='T', the Transposetransrof RFPU(ifuplo='U') orL(ifuplo='L'is stored.Iftransr='C', the Conjugate-Transposetransrof RFPU(ifuplo='U') orL(ifuplo='L'is stored.
- uplo
- Must be'U'or'L'.Indicates how the input matrixAhas been factored:Ifuplo='U',A=UT*Ufor real data orA=UH*Ufor complex data, andUis stored.Ifuplo='L',A=L*LTfor real data orA=L*LHfor complex data, andLis stored.
- n
- The order of the matrixA;n≥0.
- a
- Array, size(. The arrayn*(n+1)/2)acontains the factorUorLmatrixAin 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 , the execution is successful.
info
=0If , parameter
info
= -i
i
had an illegal value.If , the
info
= i
(
element of the factor i
,i
)U
or L
is zero, and the inverse could not be computed.