Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

p?trtri

Computes the inverse of a triangular distributed matrix.

Syntax

call pstrtri(uplo, diag, n, a, ia, ja, desca, info)

call pdtrtri(uplo, diag, n, a, ia, ja, desca, info)

call pctrtri(uplo, diag, n, a, ia, ja, desca, info)

call pztrtri(uplo, diag, n, a, ia, ja, desca, info)

Include Files

Description

The p?trtriroutine 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) CHARACTER*1. 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

CHARACTER*1. 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) INTEGER. The number of rows and columns to be operated on, that is, the order of the distributed matrix sub(A) (n0).

a

(local)

REAL for pstrtri

DOUBLE PRECISION for pdtrtri

COMPLEX for pctrtri

DOUBLE COMPLEX for pztrtri.

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) INTEGER. 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) INTEGER 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) INTEGER. If info=0, the execution is successful.

info < 0:

If the i-th argument is an array and the j-th entry 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, A(ia+k-1, ja+k-1) is exactly zero. The triangular matrix sub(A) is singular and its inverse cannot be computed.

See Also