Computes an LU factorization of a general band matrix with no pivoting (local unblocked algorithm).
Syntax
call sdbtf2(m,n,kl,ku,ab,ldab,info)
call ddbtf2(m,n,kl,ku,ab,ldab,info)
call cdbtf2(m,n,kl,ku,ab,ldab,info)
call zdbtf2(m,n,kl,ku,ab,ldab,info)
Description
The ?dbtf2 routine computes an LU factorization of a general real/complex m-by-n band matrix A without using partial pivoting with row interchanges.
This is the unblocked version of the algorithm, calling BLAS Routines and Functions.
Input Parameters
- m
INTEGER. The number of rows of the matrix A
(m≥ 0)
.- n
INTEGER. The number of columns in A
(n≥ 0)
.- kl
INTEGER. The number of sub-diagonals within the band of A
(kl≥ 0)
.- ku
INTEGER. The number of super-diagonals within the band of A
(ku≥ 0)
.- ab
REAL for sdbtf2
DOUBLE PRECISION for ddbtf2
COMPLEX for cdbtf2
COMPLEX*16 for zdbtf2.
Array, DIMENSION (ldab, n).
The matrix A in band storage, in rows
kl+1
to2kl+ku+1
; rows 1 to kl of the array need not be set. The j-th column of A is stored in the j-th column of the array ab as follows:ab(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku) ≤ i≤ min(m,j+kl)
.- ldab
INTEGER. The leading dimension of the array ab.
(ldab≥ 2kl + ku +1)
Output Parameters
- ab
On exit, details of the factorization: U is stored as an upper triangular band matrix with kl+ku superdiagonals in rows 1 to
kl+ku+1
, and the multipliers used during the factorization are stored in rowskl+ku+2 to 2*kl+ku+1
. See the Application Notes below for further details.- info
INTEGER.
= 0
: successful exit< 0
: ifinfo = - i
, the i-th argument had an illegal value,> 0
: ifinfo = + i, u(i,i)
is 0. The factorization has been completed, but the factor U is exactly singular. Division by 0 will occur if you use the factor U for solving a system of linear equations.
Application Notes
The band storage scheme is illustrated by the following example, when m = n = 6
, kl = 2
, ku = 1
:

The routine does not use array elements marked *; elements marked + need not be set on entry, but the routine requires them to store elements of U, because of fill-in resulting from the row interchanges.