116 SUBROUTINE zppequ( UPLO, N, AP, S, SCOND, AMAX, INFO )
125 DOUBLE PRECISION AMAX, SCOND
128 DOUBLE PRECISION S( * )
135 DOUBLE PRECISION ONE, ZERO
136 parameter( one = 1.0d+0, zero = 0.0d+0 )
141 DOUBLE PRECISION SMIN
151 INTRINSIC dble, max, min, sqrt
158 upper = lsame( uplo,
'U' )
159 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
161 ELSE IF( n.LT.0 )
THEN
165 CALL xerbla(
'ZPPEQU', -info )
179 s( 1 ) = dble( ap( 1 ) )
191 s( i ) = dble( ap( jj ) )
192 smin = min( smin, s( i ) )
193 amax = max( amax, s( i ) )
204 s( i ) = dble( ap( jj ) )
205 smin = min( smin, s( i ) )
206 amax = max( amax, s( i ) )
210 IF( smin.LE.zero )
THEN
215 IF( s( i ).LE.zero )
THEN
226 s( i ) = one / sqrt( s( i ) )
231 scond = sqrt( smin ) / sqrt( amax )
subroutine xerbla(srname, info)
subroutine zppequ(uplo, n, ap, s, scond, amax, info)
ZPPEQU