1      SUBROUTINE sdttrsv( UPLO, TRANS, N, NRHS, DL, D, DU,
 
   16      INTEGER            INFO, LDB, N, NRHS
 
   19      REAL               B( LDB, * ), D( * ), DL( * ), DU( * )
 
   91      notran = lsame( trans, 
'N' )
 
   92      lower = lsame( uplo, 
'L' )
 
   93      IF( .NOT.lower .AND. .NOT.lsame( uplo, 
'U' ) ) 
THEN 
   95      ELSE IF( .NOT.notran .AND. .NOT.lsame( trans, 
'T' ) .AND. .NOT.
 
   96     $    lsame( trans, 
'C' ) ) 
THEN 
   98      ELSE IF( n.LT.0 ) 
THEN 
  100      ELSE IF( nrhs.LT.0 ) 
THEN 
  102      ELSE IF( ldb.LT.
max( n, 1 ) ) 
THEN 
  106         CALL xerbla( 
'SDTTRSV', -info )
 
  112      IF( n.EQ.0 .OR. nrhs.EQ.0 )
 
  125                  b( i+1, j ) = b( i+1, j ) - dl( i )*b( i, j )
 
  133            b( n, j ) = b( n, j ) / d( n )
 
  135     $         b( n-1, j ) = ( b( n-1, j )-du( n-1 )*b( n, j ) ) /
 
  137            DO 20 i = n - 2, 1, -1
 
  138               b( i, j ) = ( b( i, j )-du( i )*b( i+1, j ) ) / d( i )
 
  146         IF( .NOT. lower ) 
THEN 
  153            b( 1, j ) = b( 1, j ) / d( 1 )
 
  155     $         b( 2, j ) = ( b( 2, j )-du( 1 )*b( 1, j ) ) / d( 2 )
 
  157               b( i, j ) = ( b( i, j )-du( i-1 )*b( i-1, j ) ) / d( i )
 
  168            DO 50 i = n - 1, 1, -1
 
  169                  b( i, j ) = b( i, j ) - dl( i )*b( i+1, j )
 
 
subroutine sdttrsv(uplo, trans, n, nrhs, dl, d, du, b, ldb, info)