157 SUBROUTINE dlaqgb( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND,
166 INTEGER KL, KU, LDAB, M, N
167 DOUBLE PRECISION AMAX, COLCND, ROWCND
170 DOUBLE PRECISION AB( LDAB, * ), C( * ), R( * )
176 DOUBLE PRECISION ONE, THRESH
177 parameter( one = 1.0d+0, thresh = 0.1d+0 )
181 DOUBLE PRECISION CJ, LARGE, SMALL
184 DOUBLE PRECISION DLAMCH
194 IF( m.LE.0 .OR. n.LE.0 )
THEN
201 small = dlamch(
'Safe minimum' ) / dlamch(
'Precision' )
204 IF( rowcnd.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
209 IF( colcnd.GE.thresh )
THEN
220 DO 10 i = max( 1, j-ku ), min( m, j+kl )
221 ab( ku+1+i-j, j ) = cj*ab( ku+1+i-j, j )
226 ELSE IF( colcnd.GE.thresh )
THEN
231 DO 30 i = max( 1, j-ku ), min( m, j+kl )
232 ab( ku+1+i-j, j ) = r( i )*ab( ku+1+i-j, j )
242 DO 50 i = max( 1, j-ku ), min( m, j+kl )
243 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.