105 SUBROUTINE spot01( UPLO, N, A, LDA, AFAC, LDAFAC, RWORK, RESID )
114 INTEGER LDA, LDAFAC, N
118 REAL A( lda, * ), AFAC( ldafac, * ), RWORK( * )
125 parameter ( zero = 0.0e+0, one = 1.0e+0 )
133 REAL SDOT, SLAMCH, SLANSY
134 EXTERNAL lsame, sdot, slamch, slansy
153 eps = slamch(
'Epsilon' )
154 anorm = slansy(
'1', uplo, n, a, lda, rwork )
155 IF( anorm.LE.zero )
THEN
162 IF( lsame( uplo,
'U' ) )
THEN
167 t = sdot( k, afac( 1, k ), 1, afac( 1, k ), 1 )
172 CALL strmv(
'Upper',
'Transpose',
'Non-unit', k-1, afac,
173 $ ldafac, afac( 1, k ), 1 )
186 $
CALL ssyr(
'Lower', n-k, one, afac( k+1, k ), 1,
187 $ afac( k+1, k+1 ), ldafac )
192 CALL sscal( n-k+1, t, afac( k, k ), 1 )
199 IF( lsame( uplo,
'U' ) )
THEN
202 afac( i, j ) = afac( i, j ) - a( i, j )
208 afac( i, j ) = afac( i, j ) - a( i, j )
215 resid = slansy(
'1', uplo, n, afac, ldafac, rwork )
217 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps
subroutine spot01(UPLO, N, A, LDA, AFAC, LDAFAC, RWORK, RESID)
SPOT01
subroutine strmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
STRMV
subroutine sscal(N, SA, SX, INCX)
SSCAL
subroutine ssyr(UPLO, N, ALPHA, X, INCX, A, LDA)
SSYR