94 SUBROUTINE sppt01( UPLO, N, A, AFAC, RWORK, RESID )
107 REAL A( * ), AFAC( * ), RWORK( * )
114 parameter ( zero = 0.0e+0, one = 1.0e+0 )
117 INTEGER I, K, KC, NPP
122 REAL SDOT, SLAMCH, SLANSP
123 EXTERNAL lsame, sdot, slamch, slansp
142 eps = slamch(
'Epsilon' )
143 anorm = slansp(
'1', uplo, n, a, rwork )
144 IF( anorm.LE.zero )
THEN
151 IF( lsame( uplo,
'U' ) )
THEN
152 kc = ( n*( n-1 ) ) / 2 + 1
157 t = sdot( k, afac( kc ), 1, afac( kc ), 1 )
163 CALL stpmv(
'Upper',
'Transpose',
'Non-unit', k-1, afac,
172 kc = ( n*( n+1 ) ) / 2
179 $
CALL sspr(
'Lower', n-k, one, afac( kc+1 ), 1,
185 CALL sscal( n-k+1, t, afac( kc ), 1 )
195 afac( i ) = afac( i ) - a( i )
200 resid = slansp(
'1', uplo, n, afac, rwork )
202 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps
subroutine stpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
STPMV
subroutine sscal(N, SA, SX, INCX)
SSCAL
subroutine sspr(UPLO, N, ALPHA, X, INCX, AP)
SSPR
subroutine sppt01(UPLO, N, A, AFAC, RWORK, RESID)
SPPT01