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