155 SUBROUTINE dlaqgb( M, N, KL, KU, AB, LDAB, R, C, ROWCND,
165 INTEGER KL, KU, LDAB, M, N
166 DOUBLE PRECISION AMAX, COLCND, ROWCND
169 DOUBLE PRECISION AB( LDAB, * ), C( * ), R( * )
175 DOUBLE PRECISION ONE, THRESH
176 PARAMETER ( ONE = 1.0d+0, thresh = 0.1d+0 )
180 DOUBLE PRECISION CJ, LARGE, SMALL
183 DOUBLE PRECISION DLAMCH
193 IF( m.LE.0 .OR. n.LE.0 )
THEN
200 small = dlamch(
'Safe minimum' ) / dlamch(
'Precision' )
203 IF( rowcnd.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
208 IF( colcnd.GE.thresh )
THEN
219 DO 10 i = max( 1, j-ku ), min( m, j+kl )
220 ab( ku+1+i-j, j ) = cj*ab( ku+1+i-j, j )
225 ELSE IF( colcnd.GE.thresh )
THEN
230 DO 30 i = max( 1, j-ku ), min( m, j+kl )
231 ab( ku+1+i-j, j ) = r( i )*ab( ku+1+i-j, j )
241 DO 50 i = max( 1, j-ku ), min( m, j+kl )
242 ab( ku+1+i-j, j ) = cj*r( i )*ab( ku+1+i-j, j )
subroutine dlaqgb(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)
DLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.