Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/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?trti2

Computes the inverse of a triangular matrix (local unblocked algorithm).

Syntax

void pstrti2 (char *uplo , char *diag , MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pdtrti2 (char *uplo , char *diag , MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pctrti2 (char *uplo , char *diag , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pztrti2 (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?trti2function computes the inverse of a real/complex upper or lower triangular block matrix sub (A) = A(ia:ia+n-1, ja:ja+n-1).

This matrix should be contained in one and only one process memory space (local operation).

Input Parameters

uplo

(global)

Specifies whether the matrix sub (A) is upper or lower triangular.

= 'U': sub (A) is upper triangular

= 'L': sub (A) is lower triangular.

diag

(global)

Specifies whether or not the matrix A is unit triangular.

= 'N': sub (A) is non-unit triangular

= 'U': sub (A) is unit triangular.

n

(global)

The number of rows and columns to be operated on, i.e., the order of the distributed submatrix sub(A). n 0.

a

(local)

Pointer into the local memory to an array, size lld_a * LOCc(ja+n-1).

On entry, this array contains the local pieces of the triangular matrix sub(A).

If uplo = 'U', the leading n-by-n upper triangular part of the matrix sub(A) contains the upper triangular part of the matrix, and the strictly lower triangular part of sub(A) is not referenced.

If uplo = 'L', the leading n-by-n lower triangular part of the matrix sub(A) contains the lower triangular part of the matrix, and the strictly upper triangular part of sub(A) is not referenced. If diag = 'U', the diagonal elements of sub(A) are not referenced either and are assumed to be 1.

ia, ja

(global)

The row and column indices in the global matrix A indicating the first row and the first column of the sub(A), respectively.

desca

(global and local) array of size dlen_. The array descriptor for the distributed matrix A.

Output Parameters

a

On exit, the (triangular) inverse of the original matrix, in the same storage format.

info

= 0: successful exit

< 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.

See Also