163      SUBROUTINE sgtt05( TRANS, N, NRHS, DL, D, DU, B, LDB, X, LDX,
 
  164     $                   XACT, LDXACT, FERR, BERR, RESLTS )
 
  172      INTEGER            LDB, LDX, LDXACT, N, NRHS
 
  175      REAL               B( LDB, * ), BERR( * ), D( * ), DL( * ),
 
  176     $                   du( * ), ferr( * ), reslts( * ), x( ldx, * ),
 
  184      parameter( zero = 0.0e+0, one = 1.0e+0 )
 
  188      INTEGER            I, IMAX, J, K, NZ
 
  189      REAL               AXBI, DIFF, EPS, ERRBND, OVFL, TMP, UNFL, XNORM
 
  195      EXTERNAL           lsame, isamax, slamch
 
  198      INTRINSIC          abs, max, min
 
  204      IF( n.LE.0 .OR. nrhs.LE.0 ) 
THEN 
  210      eps = slamch( 
'Epsilon' )
 
  211      unfl = slamch( 
'Safe minimum' )
 
  213      notran = lsame( trans, 
'N' )
 
  222         imax = isamax( 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         IF( xnorm.GT.one ) 
THEN 
  231         ELSE IF( diff.LE.ovfl*xnorm ) 
THEN 
  239         IF( diff / xnorm.LE.ferr( j ) ) 
THEN 
  240            errbnd = max( errbnd, ( diff / xnorm ) / ferr( j ) )
 
  253               axbi = abs( b( 1, k ) ) + abs( d( 1 )*x( 1, k ) )
 
  255               axbi = abs( b( 1, k ) ) + abs( d( 1 )*x( 1, k ) ) +
 
  256     $                abs( du( 1 )*x( 2, k ) )
 
  258                  tmp = abs( b( i, k ) ) + abs( dl( i-1 )*x( i-1, k ) )
 
  259     $                   + abs( d( i )*x( i, k ) ) +
 
  260     $                  abs( du( i )*x( i+1, k ) )
 
  261                  axbi = min( axbi, tmp )
 
  263               tmp = abs( b( n, k ) ) + abs( dl( n-1 )*x( n-1, k ) ) +
 
  264     $               abs( d( n )*x( n, k ) )
 
  265               axbi = min( axbi, tmp )
 
  269               axbi = abs( b( 1, k ) ) + abs( d( 1 )*x( 1, k ) )
 
  271               axbi = abs( b( 1, k ) ) + abs( d( 1 )*x( 1, k ) ) +
 
  272     $                abs( dl( 1 )*x( 2, k ) )
 
  274                  tmp = abs( b( i, k ) ) + abs( du( i-1 )*x( i-1, k ) )
 
  275     $                   + abs( d( i )*x( i, k ) ) +
 
  276     $                  abs( dl( i )*x( i+1, k ) )
 
  277                  axbi = min( axbi, tmp )
 
  279               tmp = abs( b( n, k ) ) + abs( du( n-1 )*x( n-1, k ) ) +
 
  280     $               abs( d( n )*x( n, k ) )
 
  281               axbi = min( axbi, tmp )
 
  284         tmp = berr( k ) / ( nz*eps+nz*unfl / max( axbi, nz*unfl ) )
 
  288            reslts( 2 ) = max( reslts( 2 ), tmp )
 
 
subroutine sgtt05(trans, n, nrhs, dl, d, du, b, ldb, x, ldx, xact, ldxact, ferr, berr, reslts)
SGTT05