159 SUBROUTINE dlaqgb( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND,
169 INTEGER kl, ku, ldab, m, n
170 DOUBLE PRECISION amax, colcnd, rowcnd
173 DOUBLE PRECISION ab( ldab, * ), c( * ), r( * )
179 DOUBLE PRECISION one, thresh
180 parameter( one = 1.0d+0, thresh = 0.1d+0 )
184 DOUBLE PRECISION cj, large, small
197 IF( m.LE.0 .OR. n.LE.0 )
THEN
204 small =
dlamch(
'Safe minimum' ) /
dlamch(
'Precision' )
207 IF( rowcnd.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
212 IF( colcnd.GE.thresh )
THEN
223 DO 10 i = max( 1,
j-ku ), min( m,
j+kl )
224 ab( ku+1+i-
j,
j ) = cj*ab( ku+1+i-
j,
j )
229 ELSE IF( colcnd.GE.thresh )
THEN
234 DO 30 i = max( 1,
j-ku ), min( m,
j+kl )
235 ab( ku+1+i-
j,
j ) = r( i )*ab( ku+1+i-
j,
j )
245 DO 50 i = max( 1,
j-ku ), min( m,
j+kl )
246 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...
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j