127 SUBROUTINE zpbequ( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX,
136 INTEGER INFO, KD, LDAB, N
137 DOUBLE PRECISION AMAX, SCOND
140 DOUBLE PRECISION S( * )
141 COMPLEX*16 AB( LDAB, * )
147 DOUBLE PRECISION ZERO, ONE
148 parameter( zero = 0.0d+0, one = 1.0d+0 )
153 DOUBLE PRECISION SMIN
163 INTRINSIC dble, max, min, sqrt
170 upper = lsame( uplo,
'U' )
171 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
173 ELSE IF( n.LT.0 )
THEN
175 ELSE IF( kd.LT.0 )
THEN
177 ELSE IF( ldab.LT.kd+1 )
THEN
181 CALL xerbla(
'ZPBEQU', -info )
201 s( 1 ) = dble( ab( j, 1 ) )
208 s( i ) = dble( ab( j, i ) )
209 smin = min( smin, s( i ) )
210 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 zpbequ(uplo, n, kd, ab, ldab, s, scond, amax, info)
ZPBEQU