96 SUBROUTINE cppt01( UPLO, N, A, AFAC, RWORK, RESID )
110 COMPLEX A( * ), AFAC( * )
117 parameter( zero = 0.0e+0, one = 1.0e+0 )
128 EXTERNAL lsame, clanhp, slamch, cdotc
134 INTRINSIC aimag, real
147 eps = slamch(
'Epsilon' )
148 anorm = clanhp(
'1', uplo, n, a, rwork )
149 IF( anorm.LE.zero )
THEN 158 IF( lsame( uplo,
'U' ) )
THEN 160 IF( aimag( afac( kc ) ).NE.zero )
THEN 168 IF( aimag( afac( kc ) ).NE.zero )
THEN 178 IF( lsame( uplo,
'U' ) )
THEN 179 kc = ( n*( n-1 ) ) / 2 + 1
184 tr = cdotc( k, afac( kc ), 1, afac( kc ), 1 )
190 CALL ctpmv(
'Upper',
'Conjugate',
'Non-unit', k-1, afac,
201 afac( kc+i-1 ) = afac( kc+i-1 ) - a( kc+i-1 )
203 afac( kc+k-1 ) = afac( kc+k-1 ) -
REAL( A( KC+K-1 ) )
210 kc = ( n*( n+1 ) ) / 2
217 $
CALL chpr(
'Lower', n-k, one, afac( kc+1 ), 1,
223 CALL cscal( n-k+1, tc, afac( kc ), 1 )
232 afac( kc ) = afac( kc ) -
REAL( A( KC ) )
234 afac( kc+i-k ) = afac( kc+i-k ) - a( kc+i-k )
242 resid = clanhp(
'1', uplo, n, afac, rwork )
244 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps
subroutine ctpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPMV
subroutine cppt01(UPLO, N, A, AFAC, RWORK, RESID)
CPPT01
subroutine cscal(N, CA, CX, INCX)
CSCAL
subroutine chpr(UPLO, N, ALPHA, X, INCX, AP)
CHPR