Solve triangular system

 

 

STRSV/DTRSV/CTRSV/ZTRSV

 

incx

Increment for the array x, incx ≠ 0:

 

 

incx > 0

x is stored forward in array x; that is,

 

 

 

xi is stored in x((i−1)⋅incx+1).

 

 

incx < 0

x is stored backward in array x; that

 

 

 

is, xi is stored in x((in)⋅incx+1).

 

 

Use incx = 1 if the vector x is stored contiguously in

 

 

array x, that is, if xi is stored in x(i). Refer to “BLAS

 

 

Indexing Conventions” in the introduction to

 

 

Chapter 2.

 

Output

x

The solution vector of the triangular system replaces

 

 

the input.

 

Notes These subprograms conform to specifications of the Level 2 BLAS.

The subprograms do not check for singularity of matrix A. A is singular if diag = ’N’ or ’n’ and some aii = 0. This condition causes a division by zero to occur.

Therefore, the program must detect singularity and take appropriate action to avoid a problem before calling any of these subprograms.

If an error in the arguments is detected, the subprograms call error handler XERBLA, which writes an error message onto the standard error file and terminates execution. The standard version of XERBLA (refer to the end of this chapter) can be replaced with a user-supplied version to change the error procedure. Error conditions are

uplo ≠ ’L’ or ’l’ or ’U’ or ’u’

trans ≠ ’N’ or ’n’ or ’T’ or ’t’ or ’C’ or ’c’ diag ≠ ’N’ or ’n’ or ’U’ or ’u’

n < 0

lda < max(n,1) incx = 0

Actual character arguments in a subroutine call can be longer than the corresponding dummy arguments. Therefore, readability of the CALL statement may be improved by coding the trans argument as ’NORMAL’ or ’NONTRANS’ for ’N’, ’TRANSPOSE’ for ’T’, or ’CTRANS’ for ’C’. Refer to “Example 2.”

Chapter 3 Basic Matrix Operations 335