dgttrf(3S)

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

As shipped in IRIX 6.5.15. Added in IRIX 6.5.15.

NAME
     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( * )

IMPLEMENTATION
     These routines are part of the SCSL Scientific Library and can be loaded
     using either the -lscs or the -lscs_mp option.  The -lscs_mp option
     directs the linker to use the multi-processor version of the library.

     When linking to SCSL with -lscs or -lscs_mp, the default integer size is
     4 bytes (32 bits). Another version of SCSL is available in which integers
     are 8 bytes (64 bits).  This version allows the user access to larger
     memory sizes and helps when porting legacy Cray codes.  It can be loaded
     by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
     only one of the two versions; 4-byte integer and 8-byte integer library
     calls cannot be mixed.

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 bidiagonal 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) multipliers that define
             the matrix L from the LU factorization 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 elements 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.

     DU2     (output) DOUBLE PRECISION array, dimension (N-2)
             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 indicates a row interchange was not required.

     INFO    (output) INTEGER
             = 0:  successful exit
             < 0:  if INFO = -k, the k-th argument had an illegal 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
             equations.

SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.