131 SUBROUTINE zpbequ( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO )
140 INTEGER info, kd, ldab, n
141 DOUBLE PRECISION amax, scond
144 DOUBLE PRECISION s( * )
145 COMPLEX*16 ab( ldab, * )
151 DOUBLE PRECISION zero, one
152 parameter( zero = 0.0d+0, one = 1.0d+0 )
157 DOUBLE PRECISION smin
167 INTRINSIC dble, max, min, sqrt
174 upper =
lsame( uplo,
'U' )
175 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
177 ELSE IF( n.LT.0 )
THEN
179 ELSE IF( kd.LT.0 )
THEN
181 ELSE IF( ldab.LT.kd+1 )
THEN
185 CALL
xerbla(
'ZPBEQU', -info )
205 s( 1 ) = dble( ab( j, 1 ) )
212 s( i ) = dble( ab( j, i ) )
213 smin = min( smin, s( i ) )
214 amax = max( amax, s( i ) )
217 IF( smin.LE.zero )
THEN
222 IF( s( i ).LE.zero )
THEN
233 s( i ) = one / sqrt( s( i ) )
238 scond = sqrt( smin ) / sqrt( amax )