Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

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
uplo
=
'U'
, sub(
A
) is upper triangular.
If
uplo
=
'L'
, sub(
A
) is lower triangular.
diag
Must be
'N'
or
'U'
.
Specifies whether or not the distributed matrix sub(
A
) is unit triangular.
If
diag
=
'N'
, then sub(
A
) is non-unit triangular.
If
diag
=
'U'
, then sub(
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 array
a
contains the local pieces of the triangular distributed matrix sub(
A
).
If
uplo
=
'U'
, the leading
n
-by-
n
upper 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
uplo
=
'L'
, the leading
n
-by-
n
lower 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 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 (triangular) inverse of the original matrix.
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
=
k
,
the matrix element
A
(
ia
+
k
-1,
ja
+
k
-1) is exactly zero. The triangular matrix sub(
A
) is singular and its inverse cannot be computed.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804