Contents


NAME

     sgtsv - solve the equation   A*X = B,

SYNOPSIS

     SUBROUTINE SGTSV(N, NRHS, LOW, D, UP, B, LDB, INFO)

     INTEGER N, NRHS, LDB, INFO
     REAL LOW(*), D(*), UP(*), B(LDB,*)

     SUBROUTINE SGTSV_64(N, NRHS, LOW, D, UP, B, LDB, INFO)

     INTEGER*8 N, NRHS, LDB, INFO
     REAL LOW(*), D(*), UP(*), B(LDB,*)

  F95 INTERFACE
     SUBROUTINE GTSV([N], [NRHS], LOW, D, UP, B, [LDB], [INFO])

     INTEGER :: N, NRHS, LDB, INFO
     REAL, DIMENSION(:) :: LOW, D, UP
     REAL, DIMENSION(:,:) :: B

     SUBROUTINE GTSV_64([N], [NRHS], LOW, D, UP, B, [LDB], [INFO])

     INTEGER(8) :: N, NRHS, LDB, INFO
     REAL, DIMENSION(:) :: LOW, D, UP
     REAL, DIMENSION(:,:) :: B

  C INTERFACE
     #include <sunperf.h>

     void sgtsv(int n, int nrhs, float *low, float  *diag,  float
               *up, float *b, int ldb, int *info);

     void sgtsv_64(long n, long nrhs, float  *low,  float  *diag,
               float *up, float *b, long ldb, long *info);

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) The order of the matrix A.  N >= 0.

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

     LOW (input/output)
               On entry, LOW must contain the (n-1)  sub-diagonal
               elements of A.

               On exit, LOW is overwritten by the (n-2)  elements
               of the second super-diagonal of the upper triangu-
               lar matrix U from the LU factorization  of  A,  in
               LOW(1), ..., LOW(n-2).

     D (input/output)
               On entry, D must contain the diagonal elements  of
               A.

               On exit, D is overwritten by the n  diagonal  ele-
               ments of U.

     UP (input/output)
               On entry, UP must contain the (n-1) super-diagonal
               elements of A.

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

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

     LDB (input)
               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  ille-
               gal 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.