124 SUBROUTINE dgtt02( TRANS, N, NRHS, DL, D, DU, X, LDX, B, LDB,
134 INTEGER ldb, ldx, n, nrhs
135 DOUBLE PRECISION resid
138 DOUBLE PRECISION b( ldb, * ), d( * ), dl( * ), du( * ),
145 DOUBLE PRECISION one, zero
146 parameter( one = 1.0d+0, zero = 0.0d+0 )
150 DOUBLE PRECISION anorm, bnorm, eps, xnorm
168 IF( n.LE.0 .OR. nrhs.EQ.0 )
174 IF(
lsame( trans,
'N' ) )
THEN
175 anorm =
dlangt(
'1', n, dl, d, du )
177 anorm =
dlangt(
'I', n, dl, d, du )
183 IF( anorm.LE.zero )
THEN
190 CALL
dlagtm( trans, n, nrhs, -one, dl, d, du, x, ldx, one, b,
194 bnorm =
dasum( n, b( 1, j ), 1 )
195 xnorm =
dasum( n, x( 1, j ), 1 )
196 IF( xnorm.LE.zero )
THEN
199 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )