129 SUBROUTINE dtptrs( UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO )
136 CHARACTER DIAG, TRANS, UPLO
137 INTEGER INFO, LDB, N, NRHS
140 DOUBLE PRECISION AP( * ), B( LDB, * )
146 DOUBLE PRECISION ZERO
147 parameter( zero = 0.0d+0 )
150 LOGICAL NOUNIT, UPPER
168 upper = lsame( uplo,
'U' )
169 nounit = lsame( diag,
'N' )
170 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
172 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
173 $ lsame( trans,
'T' ) .AND. .NOT.lsame( trans,
'C' ) )
THEN
175 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
177 ELSE IF( n.LT.0 )
THEN
179 ELSE IF( nrhs.LT.0 )
THEN
181 ELSE IF( ldb.LT.max( 1, n ) )
THEN
185 CALL xerbla(
'DTPTRS', -info )
200 IF( ap( jc+info-1 ).EQ.zero )
207 IF( ap( jc ).EQ.zero )
209 jc = jc + n - info + 1
218 CALL dtpsv( uplo, trans, diag, n, ap, b( 1, j ), 1 )
subroutine xerbla(srname, info)
subroutine dtpsv(uplo, trans, diag, n, ap, x, incx)
DTPSV
subroutine dtptrs(uplo, trans, diag, n, nrhs, ap, b, ldb, info)
DTPTRS