DGBTF2 - compute an LU factorization of a real m-by-n band
       matrix A using partial pivoting with row interchanges


SYNOPSIS

       SUBROUTINE DGBTF2( M, N, KL, KU, AB, LDAB, IPIV, INFO )

           INTEGER        INFO, KL, KU, LDAB, M, N

           INTEGER        IPIV( * )

           DOUBLE         PRECISION AB( LDAB, * )


PURPOSE

       DGBTF2 computes an LU factorization of a real m-by-n  band
       matrix  A  using  partial  pivoting with row interchanges.
       This is the unblocked version of  the  algorithm,  calling
       Level 2 BLAS.


ARGUMENTS

       M       (input) INTEGER
               The number of rows of the matrix A.  M >= 0.

       N       (input) INTEGER
               The number of columns of the matrix A.  N >= 0.

       KL      (input) INTEGER
               The  number  of subdiagonals within the band of A.
               KL >= 0.

       KU      (input) INTEGER
               The number of superdiagonals within the band of A.
               KU >= 0.

       AB      (input/output) DOUBLE PRECISION array, dimension
               (LDAB,N)
               On  entry,  the  matrix A in band storage, in rows
               KL+1 to 2*KL+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)

               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  mul­
               tipliers  used during the factorization are stored
               in rows KL+KU+2 to 2*KL+KU+1.  See below for  fur­
               ther details.

       LDAB    (input) INTEGER
               The  leading  dimension  of the array AB.  LDAB >=
               2*KL+KU+1.

               The pivot indices; for 1 <= i <= min(M,N),  row  i
               of the matrix was interchanged with row IPIV(i).

       INFO    (output) INTEGER
               = 0: successful exit
               <  0: if INFO = -i, the i-th argument had an ille­
               gal value
               > 0: if INFO = +i, U(i,i)  is  exactly  zero.  The
               factorization has been completed, but the factor U
               is exactly singular, and  division  by  zero  will
               occur  if  it  is  used to solve a system of equa­
               tions.


FURTHER DETAILS

       The band storage scheme is illustrated  by  the  following
       example, when M = N = 6, KL = 2, KU = 1:

       On entry:                       On exit:

           *     *     *     +     +    +       *    *    *   u14
       u25  u36
           *    *    +    +    +    +        *     *    u13   u24
       u35  u46
           *    a12   a23   a34   a45  a56      *   u12  u23  u34
       u45  u56
          a11  a22  a33  a44  a55  a66      u11   u22   u33   u44
       u55  u66
          a21   a32   a43   a54   a65   *      m21  m32  m43  m54
       m65   *
          a31  a42  a53  a64   *    *      m31  m42  m53  m64   *
       *

       Array  elements marked * are not used by the routine; ele­
       ments marked + need not be set on entry, but are  required
       by  the routine to store elements of U, because of fill-in
       resulting from the row
       interchanges.


Man(1) output converted with man2html