114 SUBROUTINE zptt02( UPLO, N, NRHS, D, E, X, LDX, B, LDB, RESID )
122 INTEGER LDB, LDX, N, NRHS
123 DOUBLE PRECISION RESID
126 DOUBLE PRECISION D( * )
127 COMPLEX*16 B( LDB, * ), E( * ), X( LDX, * )
133 DOUBLE PRECISION ONE, ZERO
134 parameter( one = 1.0d+0, zero = 0.0d+0 )
138 DOUBLE PRECISION ANORM, BNORM, EPS, XNORM
141 DOUBLE PRECISION DLAMCH, DZASUM, ZLANHT
142 EXTERNAL dlamch, dzasum, zlanht
161 anorm = zlanht(
'1', n, d, e )
165 eps = dlamch(
'Epsilon' )
166 IF( anorm.LE.zero )
THEN
173 CALL zlaptm( uplo, n, nrhs, -one, d, e, x, ldx, one, b, ldb )
180 bnorm = dzasum( n, b( 1, j ), 1 )
181 xnorm = dzasum( n, x( 1, j ), 1 )
182 IF( xnorm.LE.zero )
THEN
185 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
subroutine zlaptm(uplo, n, nrhs, alpha, d, e, x, ldx, beta, b, ldb)
ZLAPTM
subroutine zptt02(uplo, n, nrhs, d, e, x, ldx, b, ldb, resid)
ZPTT02