96 SUBROUTINE cppt01( UPLO, N, A, AFAC, RWORK, RESID )
110 COMPLEX a( * ), afac( * )
117 parameter( zero = 0.0e+0, one = 1.0e+0 )
134 INTRINSIC aimag, real
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 cscal(N, CA, CX, INCX)
CSCAL
real function clanhp(NORM, UPLO, N, AP, WORK)
CLANHP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix supplied in packed form.
subroutine chpr(UPLO, N, ALPHA, X, INCX, AP)
CHPR
complex function cdotc(N, CX, INCX, CY, INCY)
CDOTC
logical function lsame(CA, CB)
LSAME
real function slamch(CMACH)
SLAMCH
subroutine cppt01(UPLO, N, A, AFAC, RWORK, RESID)
CPPT01