Solve triangular band system | STBSV/DTBSV/CTBSV/ZTBSV |
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 |
|
kd < 0 |
|
ldab < kd+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.”
Example 1 Perform REAL*4 forward elimination using the
CHARACTER*1 UPLO,TRANS,DIAG
INTEGER*4 N,KD,LDAB,INCX
REAL*4 AB(25,100),X(100)
UPLO = ’L’
TRANS = ’N’
DIAG = ’U’
N = 75
KD = 15
LDAB = 25
INCX = 1
CALL STBSV (UPLO,TRANS,DIAG,N,KD,AB,LDAB,X,INCX)
Example 2 Perform REAL*4 back substitution using the
INTEGER*4 N,KD,LDAB
REAL*4 | AB(25,100),X(100) | |
N = 75 |
| |
KD = | 15 |
|
LDAB | = 25 |
|
CALL | STBSV (’UPPER’,’NONTRANS’,’NONUNIT’,N,KD,AB,LDAB,X,1) |
Chapter 3 Basic Matrix Operations 307