163 SUBROUTINE dget07( TRANS, N, NRHS, A, LDA, B, LDB, X, LDX, XACT,
164 $ LDXACT, FERR, CHKFERR, BERR, RESLTS )
173 INTEGER LDA, LDB, , LDXACT, N, NRHS
176 DOUBLE PRECISION A( LDA, * ), B( LDB, * ), BERR( * ), FERR( * ),
177 $ reslts( * ), x( ldx, * ), xact( ldxact, * )
183 DOUBLE PRECISION ZERO, ONE
184 parameter( zero = 0.0d+0, one = 1.0d+0 )
189 DOUBLE PRECISION AXBI, DIFF, EPS, ERRBND, OVFL, TMP, UNFL, XNORM
194 DOUBLE PRECISION DLAMCH
195 EXTERNAL lsame, idamax, dlamch
204 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
210 eps = dlamch(
'Epsilon' )
211 unfl = dlamch(
'Safe minimum' )
213 notran = lsame( trans, 'n
' )
222 IMAX = IDAMAX( N, X( 1, J ), 1 )
223 XNORM = MAX( ABS( X( IMAX, J ) ), UNFL )
226 DIFF = MAX( DIFF, ABS( X( I, J )-XACT( I, J ) ) )
229.GT.
IF( XNORMONE ) THEN
231.LE.
ELSE IF( DIFFOVFL*XNORM ) THEN
239.LE.
IF( DIFF / XNORMFERR( J ) ) THEN
240 ERRBND = MAX( ERRBND, ( DIFF / XNORM ) / FERR( J ) )
253 TMP = ABS( B( I, K ) )
256 TMP = TMP + ABS( A( I, J ) )*ABS( X( J, K ) )
260 TMP = TMP + ABS( A( J, I ) )*ABS( X( J, K ) )
266 AXBI = MIN( AXBI, TMP )
269 TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
270 $ MAX( AXBI, ( N+1 )*UNFL ) )
274 RESLTS( 2 ) = MAX( RESLTS( 2 ), TMP )
subroutine dget07(trans, n, nrhs, a, lda, b, ldb, x, ldx, xact, ldxact, ferr, chkferr, berr, reslts)
DGET07