110 SUBROUTINE ctpt01( UPLO, DIAG, N, AP, AINVP, RCOND, RWORK, RESID )
124 COMPLEX ainvp( * ), ap( * )
131 parameter( zero = 0.0e+0, one = 1.0e+0 )
136 REAL ainvnm, anorm, eps
162 anorm =
clantp(
'1', uplo, diag, n, ap, rwork )
163 ainvnm =
clantp(
'1', uplo, diag, n, ainvp, rwork )
164 IF( anorm.LE.zero .OR. ainvnm.LE.zero )
THEN
169 rcond = ( one / anorm ) / ainvnm
173 unitd =
lsame( diag,
'U' )
174 IF(
lsame( uplo,
'U' ) )
THEN
178 $ ainvp( jc+
j-1 ) = one
182 CALL
ctpmv(
'Upper',
'No transpose', diag,
j, ap,
187 ainvp( jc+
j-1 ) = ainvp( jc+
j-1 ) - one
198 CALL
ctpmv(
'Lower',
'No transpose', diag, n-
j+1, ap( jc ),
203 ainvp( jc ) = ainvp( jc ) - one
210 resid =
clantp(
'1', uplo,
'Non-unit', n, ainvp, rwork )
212 resid = ( ( resid*rcond ) /
REAL( N ) ) / eps
subroutine ctpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
CTPMV
real function clantp(NORM, UPLO, DIAG, N, AP, WORK)
CLANTP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular matrix supplied in packed form.
logical function lsame(CA, CB)
LSAME
real function slamch(CMACH)
SLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine ctpt01(UPLO, DIAG, N, AP, AINVP, RCOND, RWORK, RESID)
CTPT01