1 SUBROUTINE zpttrsv( UPLO, TRANS, N, NRHS, D, E, B, LDB,
16 INTEGER INFO, LDB, N, NRHS
19 DOUBLE PRECISION D( * )
20 COMPLEX*16 B( LDB, * ), E( * )
99 notran = lsame( trans,
'N' )
100 upper = lsame( uplo,
'U' )
101 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
103 ELSE IF( .NOT.notran .AND. .NOT.
104 $ lsame( trans,
'C' ) )
THEN
106 ELSE IF( n.LT.0 )
THEN
108 ELSE IF( nrhs.LT.0 )
THEN
110 ELSE IF( ldb.LT.
max( 1, n ) )
THEN
114 CALL xerbla(
'ZPTTRS', -info )
125 IF( .NOT.notran )
THEN
132 b( i, j ) = b( i, j ) - b( i-1, j )*dconjg( e( i-1 ) )
142 DO 20 i = n - 1, 1, -1
143 b( i, j ) = b( i, j ) - b( i+1, j )*e( i )
157 b( i, j ) = b( i, j ) - b( i-1, j )*e( i-1 )
167 DO 50 i = n - 1, 1, -1
168 b( i, j ) = b( i, j ) -
169 $ b( i+1, j )*dconjg( e( i ) )