# ?trti2

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

## Syntax

call strti2( uplo, diag, n, a, lda, info )

call dtrti2( uplo, diag, n, a, lda, info )

call ctrti2( uplo, diag, n, a, lda, info )

call ztrti2( uplo, diag, n, a, lda, info )

## Description

The routine ?trti2 computes the inverse of a real/complex upper or lower triangular matrix.

This is the Level 2 BLAS version of the algorithm.

## Input Parameters

uplo

  CHARACTER*1.

  Specifies whether the matrix A is upper or lower triangular.

  = 'U': upper triangular

  = 'L': lower triangular

diag

  CHARACTER*1.

  Specifies whether or not the matrix A is unit triangular.

  = 'N': non-unit triangular

  = 'N': non-unit triangular

n

  INTEGER. The order of the matrix A. `n ≥ 0`.

a

  REAL for strti2

  DOUBLE PRECISION for dtrti2

  COMPLEX for ctrti2

  COMPLEX*16 for ztrti2.

  Array, DIMENSION (lda, n).

  On entry, the triangular matrix A.

  If `uplo = 'U'`, the leading n-by-n upper triangular part of the array a contains the upper triangular matrix, and the strictly lower triangular part of a is not referenced.

  If `uplo = 'L'`, the leading n-by-n lower triangular part of the array a contains the lower triangular matrix, and the strictly upper triangular part of a is not referenced.

  If `diag = 'U'`, the diagonal elements of a are also not referenced and are assumed to be 1.

lda

  INTEGER. The leading dimension of the array a. `lda ≥ max(1,n)`.

## Output Parameters

a

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

info

  INTEGER.

  `= 0`: successful exit

  `< 0`: if `info = -k`, the k-th argument had an illegal value

Parent topic: Auxiliary Routines