116 SUBROUTINE zptcon( N, D, E, ANORM, RCOND, RWORK, INFO )
124 DOUBLE PRECISION ANORM, RCOND
127 DOUBLE PRECISION D( * ), RWORK( * )
134 DOUBLE PRECISION ONE, ZERO
135 parameter( one = 1.0d+0, zero = 0.0d+0 )
139 DOUBLE PRECISION AINVNM
158 ELSE IF( anorm.LT.zero )
THEN
162 CALL xerbla(
'ZPTCON', -info )
172 ELSE IF( anorm.EQ.zero )
THEN
194 rwork( i ) = one + rwork( i-1 )*abs( e( i-1 ) )
199 rwork( n ) = rwork( n ) / d( n )
200 DO 30 i = n - 1, 1, -1
201 rwork( i ) = rwork( i ) / d( i ) + rwork( i+1 )*abs( e( i ) )
206 ix = idamax( n, rwork, 1 )
207 ainvnm = abs( rwork( ix ) )
212 $ rcond = ( one / ainvnm ) / anorm
subroutine zptcon(n, d, e, anorm, rcond, rwork, info)
ZPTCON