92      SUBROUTINE sppt01( UPLO, N, A, AFAC, RWORK, RESID )
 
  104      REAL               A( * ), AFAC( * ), RWORK( * )
 
  111      parameter( zero = 0.0e+0, one = 1.0e+0 )
 
  114      INTEGER            I, K, KC, NPP
 
  119      REAL               SDOT, SLAMCH, SLANSP
 
  120      EXTERNAL           lsame, sdot, slamch, slansp
 
  139      eps = slamch( 
'Epsilon' )
 
  140      anorm = slansp( 
'1', uplo, n, a, rwork )
 
  141      IF( anorm.LE.zero ) 
THEN 
  148      IF( lsame( uplo, 
'U' ) ) 
THEN 
  149         kc = ( n*( n-1 ) ) / 2 + 1
 
  154            t = sdot( k, afac( kc ), 1, afac( kc ), 1 )
 
  160               CALL stpmv( 
'Upper', 
'Transpose', 
'Non-unit', k-1, afac,
 
  169         kc = ( n*( n+1 ) ) / 2
 
  176     $         
CALL sspr( 
'Lower', n-k, one, afac( kc+1 ), 1,
 
  182            CALL sscal( n-k+1, t, afac( kc ), 1 )
 
  192         afac( i ) = afac( i ) - a( i )
 
  197      resid = slansp( 
'1', uplo, n, afac, rwork )
 
  199      resid = ( ( resid / real( n ) ) / anorm ) / eps
 
 
subroutine sspr(uplo, n, alpha, x, incx, ap)
SSPR
subroutine stpmv(uplo, trans, diag, n, ap, x, incx)
STPMV