p?potri
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 computed by
p?potri
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
) = U
H
*U
or sub(A
) = L*L
H
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, upper triangle of sub(uplo='U'A) is stored. If, lower triangle of sub(uplo='L'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 arrayacontains the local pieces of the triangular factorUorLfrom the Cholesky factorization sub(A) =UH*U,or sub(A) =L*L, as computed byHp?potrf.
- ia,ja
- (global) The row and column indices in the global matrixAindicating the first row and the first column of the matrix sub(A), respectively.
- desca
- (global and local) array of sizedlen_. The array descriptor for the distributed matrixA.
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, the execution is successful.info=0:info< 0If thei-th argument is an array and thej-th entry, indexedhad an illegal value, thenj- 1,info= -(i*100+j); if thei-th argument is a scalar and had an illegal value, theninfo=-i.:info>0Ifinfo=i, the element (i,i) of the factorUorLis zero, and the inverse could not be computed.