Developer Reference for Intel® oneAPI Math Kernel Library for C
p?potri
Computes the inverse of a symmetric/Hermitian positive definite distributed matrix.
Syntax
void pspotri(char *uplo, MKL_INT *n, float *a, MKL_INT *ia, MKL_INT *ja, MKL_INT *desca,
MKL_INT *info);
void pdpotri(char *uplo, MKL_INT *n, double *a, MKL_INT *ia, MKL_INT *ja, MKL_INT *desca,
MKL_INT *info);
void pcpotri(char *uplo, MKL_INT *n, MKL_Complex8 *a, MKL_INT *ia, MKL_INT *ja,
MKL_INT *desca, MKL_INT *info);
void pzpotri(char *uplo, MKL_INT *n, MKL_Complex16 *a, MKL_INT *ia, MKL_INT *ja,
MKL_INT *desca, MKL_INT *info);
Include Files
mkl_scalapack.h
Description
pspotri pdpotri pcpotri pzpotri The p?potri routine function computes the inverse of a real symmetric or complex Hermitian positive definite distributed matrix sub( A ) = A ( ia : ia + n -1, ja : ja + n -1) using the Cholesky factorization sub( A ) = UH*U or sub( A ) = L*LH computed by p?potrf .
Input Parameters
uplo
(global) Must be ‘U’ or ‘L’ .
Specifies whether the upper or lower triangular part of the symmetric/Hermitian matrix sub( A ) is stored. If uplo = 'U' , upper triangle of sub( A ) is stored. If uplo = 'L' , lower triangle of sub( A ) is stored.
n
(global) The number of rows and columns to be operated on, that is, the order of the distributed matrix sub( A ) (n≥0) .
- a
-
(local) REAL for pspotri DOUBLE PRECISION for pdpotri COMPLEX for pcpotri DOUBLE COMPLEX for pzpotri .
Pointer into the local memory to an array of local size (lld_a,LOCc(ja+n-1))lld_a * LOCc ( ja + n -1) .
On entry, the array a contains the local pieces of the triangular factor U or L from the Cholesky factorization sub( A ) = UH*U, or sub( A ) = L*LH , as computed by p?potrf .
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the matrix sub( A ), respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
Output Parameters
- a
-
On exit, overwritten by the local pieces of the upper or lower triangle of the (symmetric/Hermitian) inverse of sub( A ).
info
(global) If info=0 , the execution is successful.
info < 0 :
If the i -th argument is an array and the j- th entry , indexed j - 1, had an illegal value, then info = -( i *100+ j ); if the i- th argument is a scalar and had an illegal value, then info = -i .
info> 0 : If info = i , the element ( i , i ) of the factor U or L is zero, and the inverse could not be computed.