142 SUBROUTINE dgbtf2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
149 INTEGER INFO, KL, KU, LDAB, M, N
153 DOUBLE PRECISION AB( LDAB, * )
159 DOUBLE PRECISION ONE, ZERO
160 parameter( one = 1.0d+0, zero = 0.0d+0 )
163 INTEGER I, J, JP, JU, KM, KV
187 ELSE IF( n.LT.0 )
THEN
189 ELSE IF( kl.LT.0 )
THEN
191 ELSE IF( ku.LT.0 )
THEN
193 ELSE IF( ldab.LT.kl+kv+1 )
THEN
197 CALL xerbla(
'DGBTF2', -info )
203 IF( m.EQ.0 .OR. n.EQ.0 )
210 DO 20 j = ku + 2, min( kv, n )
211 DO 10 i = kv - j + 2, kl
221 DO 40 j = 1, min( m, n )
235 jp = idamax( km+1, ab( kv+1, j ), 1 )
236 ipiv( j ) = jp + j - 1
237 IF( ab( kv+jp, j ).NE.zero )
THEN
238 ju = max( ju, min( j+ku+jp-1, n ) )
243 $
CALL dswap( ju-j+1, ab( kv+jp, j ), ldab-1,
244 $ ab( kv+1, j ), ldab-1 )
250 CALL dscal( km, one / ab( kv+1, j ), ab( kv+2, j ),
256 $
CALL dger( km, ju-j, -one, ab( kv+2, j ), 1,
257 $ ab( kv, j+1 ), ldab-1, ab( kv+1, j+1 ),
subroutine dgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
DGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine dger(m, n, alpha, x, incx, y, incy, a, lda)
DGER