p?trtri
p?trtri
Computes the inverse of a triangular distributed matrix.
Syntax
void
pstrtri
(
char
*uplo
,
char
*diag
,
MKL_INT
*n
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pdtrtri
(
char
*uplo
,
char
*diag
,
MKL_INT
*n
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pctrtri
(
char
*uplo
,
char
*diag
,
MKL_INT
*n
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pztrtri
(
char
*uplo
,
char
*diag
,
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?trtri
function
computes the inverse of a real or complex upper or lower triangular distributed matrix sub(A
) = A
(ia
:ia
+n
-1, ja
:ja
+n
-1).Input Parameters
- uplo
- (global) Must be'U'or'L'.Specifies whether the distributed matrix sub(A) is upper or lower triangular.If, sub(uplo='U'A) is upper triangular.If, sub(uplo='L'A) is lower triangular.
- diag
- Must be'N'or'U'.Specifies whether or not the distributed matrix sub(A) is unit triangular.If, then sub(diag='N'A) is non-unit triangular.If, then sub(diag='U'A) is unit triangular.
- 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)The arrayacontains the local pieces of the triangular distributed matrix sub(A).If, the leadinguplo='U'n-by-nupper triangular part of sub(A) contains the upper triangular matrix to be inverted, and the strictly lower triangular part of sub(A) is not referenced.If, the leadinguplo='L'n-by-nlower triangular part of sub(A) contains the lower triangular matrix, and the strictly upper triangular part of sub(A) is not referenced.
- 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 (triangular) inverse of the original matrix.
- 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=k,the matrix elementA(ia+k-1,ja+k-1) is exactly zero. The triangular matrix sub(A) is singular and its inverse cannot be computed.