Developer Reference

Contents

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?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
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
) =
U
H
*U,
or sub(
A
) =
L*L
H
, 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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.