146 SUBROUTINE dgbtf2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
154 INTEGER INFO, KL, KU, LDAB, M, N
158 DOUBLE PRECISION AB( ldab, * )
164 DOUBLE PRECISION ONE, ZERO
165 parameter ( one = 1.0d+0, zero = 0.0d+0 )
168 INTEGER I, J, JP, JU, KM, KV
192 ELSE IF( n.LT.0 )
THEN
194 ELSE IF( kl.LT.0 )
THEN
196 ELSE IF( ku.LT.0 )
THEN
198 ELSE IF( ldab.LT.kl+kv+1 )
THEN
202 CALL xerbla(
'DGBTF2', -info )
208 IF( m.EQ.0 .OR. n.EQ.0 )
215 DO 20 j = ku + 2, min( kv, n )
216 DO 10 i = kv - j + 2, kl
226 DO 40 j = 1, min( m, n )
240 jp = idamax( km+1, ab( kv+1, j ), 1 )
241 ipiv( j ) = jp + j - 1
242 IF( ab( kv+jp, j ).NE.zero )
THEN
243 ju = max( ju, min( j+ku+jp-1, n ) )
248 $
CALL dswap( ju-j+1, ab( kv+jp, j ), ldab-1,
249 $ ab( kv+1, j ), ldab-1 )
255 CALL dscal( km, one / ab( kv+1, j ), ab( kv+2, j ), 1 )
260 $
CALL dger( km, ju-j, -one, ab( kv+2, j ), 1,
261 $ ab( kv, j+1 ), ldab-1, ab( kv+1, j+1 ),
subroutine dswap(N, DX, INCX, DY, INCY)
DSWAP
subroutine dger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
DGER
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dscal(N, DA, DX, INCX)
DSCAL
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...