HP MLIB User's Guide Vol. 1 7th Ed.

Chapter 3 Basic Matrix Operations 335
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,
x
i
is stored in x((i1)×incx+1).
incx < 0 x is stored backward in array x; that
is, x
i
is stored in x((in)×incx+1).
Use incx = 1 if the vector x is stored contiguously in
array x, that is, if x
i
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 a
ii
= 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.