1 SUBROUTINE spot02( UPLO, N, NRHS, A, LDA, X, LDX, B, LDB, RWORK,
10 INTEGER lda, ldb, ldx, n, nrhs
14 REAL a( lda, * ), b( ldb, * ), rwork( * ),
75 parameter( zero = 0.0e+0, one = 1.0e+0 )
79 REAL anorm, bnorm, eps, rhsnorm, xnorm
82 REAL sasum, slamch, slansy, slange
83 EXTERNAL sasum, slamch, slansy, slange
95 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
102 eps = slamch(
'Epsilon' )
103 anorm = slansy(
'1',
uplo, n, a, lda, rwork )
104 rhsnorm = slange(
'1', n, nrhs, b, ldb, rwork )
105 IF( anorm.LE.zero )
THEN
112 CALL ssymm(
'Left',
uplo, n, nrhs, -one, a, lda, x, ldx, one, b,
120 bnorm = sasum( n, b( 1, j ), 1 )
121 xnorm = sasum( n, x( 1, j ), 1 )
122 IF( xnorm.LE.zero )
THEN
125 resid =
max( resid, ( bnorm ) / (( anorm * xnorm + rhsnorm)*