Visible to Intel only — GUID: GUID-9E214414-1FAE-4191-A13B-0B9A340378AE
Visible to Intel only — GUID: GUID-9E214414-1FAE-4191-A13B-0B9A340378AE
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
The p?potrifunction 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)
Pointer into the local memory to an array of local size 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.