1 SUBROUTINE cppt01( UPLO, N, A, AFAC, RWORK, RESID )
14 COMPLEX a( * ), afac( * )
59 parameter( zero = 0.0e+0, one = 1.0e+0 )
70 EXTERNAL lsame, clanhp, slamch,
cdotc
73 EXTERNAL chpr, cscal, ctpmv
89 eps = slamch(
'Epsilon' )
90 anorm = clanhp(
'1',
uplo, n, a, rwork )
91 IF( anorm.LE.zero )
THEN
100 IF( lsame(
uplo,
'U' ) )
THEN
102 IF( aimag( afac( kc ) ).NE.zero )
THEN
110 IF( aimag( afac( kc ) ).NE.zero )
THEN
120 IF( lsame(
uplo,
'U' ) )
THEN
121 kc = ( n*( n-1 ) ) / 2 + 1
126 tr =
cdotc( k, afac( kc ), 1, afac( kc ), 1 )
132 CALL ctpmv(
'Upper',
'Conjugate',
'Non-unit', k-1, afac,
143 afac( kc+i-1 ) = afac( kc+i-1 ) - a( kc+i-1 )
145 afac( kc+k-1 ) = afac( kc+k-1 ) -
REAL( A( KC+K-1 ) )
152 kc = ( n*( n+1 ) ) / 2
159 $ CALL chpr(
'Lower', n-k, one, afac( kc+1 ), 1,
165 CALL cscal( n-k+1, tc, afac( kc ), 1 )
174 afac( kc ) = afac( kc ) -
REAL( A( KC ) )
176 afac( kc+i-k ) = afac( kc+i-k ) - a( kc+i-k )
184 resid = clanhp(
'1',
uplo, n, afac, rwork )
186 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps