DGTTRF - compute an LU factorization of a real tridiagonal
       matrix A using elimination with partial pivoting  and  row
       interchanges


SYNOPSIS

       SUBROUTINE DGTTRF( N, DL, D, DU, DU2, IPIV, INFO )

           INTEGER        INFO, N

           INTEGER        IPIV( * )

           DOUBLE         PRECISION  D(  *  ),  DL( * ), DU( * ),
                          DU2( * )


PURPOSE

       DGTTRF computes an LU factorization of a real  tridiagonal
       matrix  A  using elimination with partial pivoting and row
       interchanges.  The factorization has the form
          A = L * U
       where L is a product of permutation and unit lower bidiag­
       onal  matrices  and U is upper triangular with nonzeros in
       only the main diagonal and first two superdiagonals.


ARGUMENTS

       N       (input) INTEGER
               The order of the matrix A.

       DL      (input/output) DOUBLE PRECISION array, dimension
               (N-1)
               On  entry,  DL must contain the (n-1) sub-diagonal
               elements of A.

               On exit, DL is overwritten by the (n-1)  multipli­
               ers  that  define the matrix L from the LU factor­
               ization of A.

       D       (input/output) DOUBLE PRECISION array, dimension
               (N)
               On  entry, D must contain the diagonal elements of
               A.

               On exit, D is overwritten by the n  diagonal  ele­
               ments of the upper triangular matrix U from the LU
               factorization of A.

       DU      (input/output) DOUBLE PRECISION array, dimension
               (N-1)
               On entry, DU must contain the (n-1) super-diagonal
               elements of A.

               On exit, DU is overwritten by the  (n-1)  elements
               of the first super-diagonal of U.

               On  exit, DU2 is overwritten by the (n-2) elements
               of the second super-diagonal of U.

       IPIV    (output) INTEGER array, dimension (N)
               The pivot indices; for 1 <= i <= n, row i  of  the
               matrix was interchanged with row IPIV(i).  IPIV(i)
               will always be either i or i+1; IPIV(i) = i  indi­
               cates a row interchange was not required.

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -k, the k-th argument had an ille­
               gal value
               > 0:  if INFO = k, U(k,k)  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.


Man(1) output converted with man2html