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( , * ), 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.