Solve triangular system

 

STRSV/DTRSV/CTRSV/ZTRSV

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*4

n, lda, incx

 

 

COMPLEX*16

a(lda, n), x(lenx)

 

CALL ZTRSV(uplo, trans, diag, n, a, lda, x, incx)

 

VECLIB8:

 

 

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*8

n, lda, incx

 

 

REAL*4

a(lda, n), x(lenx)

 

CALL STRSV(uplo, trans, diag, n, a, lda, x, incx)

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*8

n, lda, incx

 

 

REAL*8

a(lda, n), x(lenx)

 

CALL DTRSV(uplo, trans, diag, n, a, lda, x, incx)

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*8

n, lda, incx

 

 

COMPLEX*8

a(lda, n), x(lenx)

 

CALL CTRSV(uplo, trans, diag, n, a, lda, x, incx)

 

CHARACTER*1

uplo, trans, diag

 

INTEGER*8

n, lda, incx

 

 

COMPLEX*16

a(lda, n), x(lenx)

 

CALL ZTRSV(uplo, trans, diag, n, a, lda, x, incx)

Input

uplo

Upper/lower triangular option for A:

 

 

’L’ or ’l’

Solve lower-triangular system

 

 

 

(forward elimination)

 

 

’U’ or ’u’

Solve upper-triangular system (back

 

 

 

substitution)

 

 

The other triangle of the array a is not referenced.

 

trans

Transposition option for A:

 

 

’N’ or ’n’

Compute x A−1x

 

 

’T’ or ’t’

Compute x ATx

 

 

’C’ or ’c’

Compute x A–*x

 

 

where AT is the inverse of the transpose of A, and A–*

 

 

is the inverse of the conjugate transpose. In the real

 

 

subprograms, ’C’ and ’c’ have the same meaning as ’T’

 

 

and ’t’.

 

Chapter 3 Basic Matrix Operations 333