103 SUBROUTINE zget04( N, NRHS, X, LDX, XACT, LDXACT, RCOND, RESID )
111 INTEGER LDX, LDXACT, N, NRHS
112 DOUBLE PRECISION RCOND, RESID
115 COMPLEX*16 X( ldx, * ), XACT( ldxact, * )
121 DOUBLE PRECISION ZERO
122 parameter ( zero = 0.0d+0 )
126 DOUBLE PRECISION DIFFNM, EPS, XNORM
131 DOUBLE PRECISION DLAMCH
132 EXTERNAL izamax, dlamch
135 INTRINSIC abs, dble, dimag, max
138 DOUBLE PRECISION CABS1
141 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
147 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
154 eps = dlamch(
'Epsilon' )
155 IF( rcond.LT.zero )
THEN
166 ix = izamax( n, xact( 1, j ), 1 )
167 xnorm = cabs1( xact( ix, j ) )
170 diffnm = max( diffnm, cabs1( x( i, j )-xact( i, j ) ) )
172 IF( xnorm.LE.zero )
THEN
174 $ resid = 1.0d0 / eps
176 resid = max( resid, ( diffnm / xnorm )*rcond )
179 IF( resid*eps.LT.1.0d0 )
180 $ resid = resid / eps
subroutine zget04(N, NRHS, X, LDX, XACT, LDXACT, RCOND, RESID)
ZGET04