118 SUBROUTINE zppequ( UPLO, N, AP, S, SCOND, AMAX, INFO )
128 DOUBLE PRECISION amax, scond
131 DOUBLE PRECISION s( * )
138 DOUBLE PRECISION one, zero
139 parameter( one = 1.0d+0, zero = 0.0d+0 )
144 DOUBLE PRECISION smin
154 INTRINSIC dble, max, min, sqrt
161 upper =
lsame( uplo,
'U' )
162 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
164 ELSE IF( n.LT.0 )
THEN
168 CALL
xerbla(
'ZPPEQU', -info )
182 s( 1 ) = dble( ap( 1 ) )
194 s( i ) = dble( ap( jj ) )
195 smin = min( smin, s( i ) )
196 amax = max( amax, s( i ) )
207 s( i ) = dble( ap( jj ) )
208 smin = min( smin, s( i ) )
209 amax = max( amax, s( i ) )
213 IF( smin.LE.zero )
THEN
218 IF( s( i ).LE.zero )
THEN
229 s( i ) = one / sqrt( s( i ) )
234 scond = sqrt( smin ) / sqrt( amax )