Previous: sgtrfs Up: ../lapack-s.html Next: sgtsvx


sgtsv


 NAME
      SGTSV - solve the equation   A*X = B,

 SYNOPSIS
      SUBROUTINE SGTSV( N, NRHS, DL, D, DU, B, LDB, INFO )

          INTEGER       INFO, LDB, N, NRHS

          REAL          B( LDB, * ), D( * ), DL( * ), DU( * )

 PURPOSE
      SGTSV  solves the equation

      where A is an N-by-N tridiagonal matrix, by Gaussian elimi-
      nation with partial pivoting.

      Note that the equation  A'*X = B  may be solved by inter-
      changing the order of the arguments DU and DL.

 ARGUMENTS
      N       (input) INTEGER
              The order of the matrix A.  N >= 0.

      NRHS    (input) INTEGER
              The number of right hand sides, i.e., the number of
              columns of the matrix B.  NRHS >= 0.

      DL      (input/output) REAL 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-2)
              elements of the second superdiagonal of the upper
              triangular matrix U from the LU factorization of A,
              in DL(1), ..., DL(n-2).

      D       (input/output) REAL array, dimension (N)
              On entry, D must contain the diagonal elements of A.
              On exit, D is overwritten by the n diagonal elements
              of U.

      DU      (input/output) REAL 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.

      B       (input/output) REAL array, dimension (LDB,NRHS)
              On entry, the N-by-NRHS right hand side matrix B.
              On exit, if INFO = 0, the N-by-NRHS solution matrix
              X.

      LDB     (input) INTEGER
              The leading dimension of the array B.  LDB >=

              max(1,N).

      INFO    (output)
              = 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, and the
              solution has not been computed.  The factorization
              has not been completed unless i = N.