130 SUBROUTINE dpbequ( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO )
139 INTEGER INFO, KD, LDAB, N
140 DOUBLE PRECISION AMAX, SCOND
143 DOUBLE PRECISION AB( ldab, * ), S( * )
149 DOUBLE PRECISION ZERO, ONE
150 parameter ( zero = 0.0d+0, one = 1.0d+0 )
155 DOUBLE PRECISION SMIN
165 INTRINSIC max, min, sqrt
172 upper = lsame( uplo,
'U' )
173 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
175 ELSE IF( n.LT.0 )
THEN
177 ELSE IF( kd.LT.0 )
THEN
179 ELSE IF( ldab.LT.kd+1 )
THEN
183 CALL xerbla(
'DPBEQU', -info )
211 smin = min( smin, s( i ) )
212 amax = max( amax, s( i ) )
215 IF( smin.LE.zero )
THEN
220 IF( s( i ).LE.zero )
THEN
231 s( i ) = one / sqrt( s( i ) )
236 scond = sqrt( smin ) / sqrt( amax )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
DPBEQU