Previous: cgtsvx Up: ../lapack-c.html Next: cgttrs


cgttrf


 NAME
      CGTTRF - compute an LU factorization of a complex tridiago-
      nal matrix A using elimination with partial pivoting and row
      interchanges

 SYNOPSIS
      SUBROUTINE CGTTRF( N, DL, D, DU, DU2, IPIV, INFO )

          INTEGER        INFO, N

          INTEGER        IPIV( * )

          COMPLEX        D( * ), DL( * ), DU( * ), DU2( * )

 PURPOSE
      CGTTRF computes an LU factorization of a complex 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 bidiago-
      nal 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) COMPLEX array, dimension (N-1)
              On entry, DL must contain the (n-1) subdiagonal ele-
              ments of A.  On exit, DL is overwritten by the (n-1)
              multipliers that define the matrix L from the LU
              factorization of A.

      D       (input/output) COMPLEX array, dimension (N)
              On entry, D must contain the diagonal elements of A.
              On exit, D is overwritten by the n diagonal elements
              of the upper triangular matrix U from the LU factor-
              ization of A.

      DU      (input/output) COMPLEX array, dimension (N-1)
              On entry, DU must contain the (n-1) superdiagonal
              elements of A.  On exit, DU is overwritten by the
              (n-1) elements of the first superdiagonal of U.

      DU2     (output) COMPLEX array, dimension (N-2)
              On exit, DU2 is overwritten by the (n-2) elements of
              the second superdiagonal 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 = -i, the i-th argument had an illegal
              value
              > 0:  if INFO = i, U(i,i) is exactly zero. The fac-
              torization 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 equations.