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 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
ZPPEQU