NAME

dgtsv - solve the equation A*X = B,


SYNOPSIS

  SUBROUTINE DGTSV( N, NRHS, LOW, DIAG, UP, B, LDB, INFO)
  INTEGER N, NRHS, LDB, INFO
  DOUBLE PRECISION LOW(*), DIAG(*), UP(*), B(LDB,*)
  SUBROUTINE DGTSV_64( N, NRHS, LOW, DIAG, UP, B, LDB, INFO)
  INTEGER*8 N, NRHS, LDB, INFO
  DOUBLE PRECISION LOW(*), DIAG(*), UP(*), B(LDB,*)

F95 INTERFACE

  SUBROUTINE GTSV( [N], [NRHS], LOW, DIAG, UP, B, [LDB], [INFO])
  INTEGER :: N, NRHS, LDB, INFO
  REAL(8), DIMENSION(:) :: LOW, DIAG, UP
  REAL(8), DIMENSION(:,:) :: B
  SUBROUTINE GTSV_64( [N], [NRHS], LOW, DIAG, UP, B, [LDB], [INFO])
  INTEGER(8) :: N, NRHS, LDB, INFO
  REAL(8), DIMENSION(:) :: LOW, DIAG, UP
  REAL(8), DIMENSION(:,:) :: B

C INTERFACE

#include <sunperf.h>

void dgtsv(int n, int nrhs, double *low, double *diag, double *up, double *b, int ldb, int *info);

void dgtsv_64(long n, long nrhs, double *low, double *diag, double *up, double *b, long ldb, long *info);


PURPOSE

dgtsv solves the equation

where A is an n by n tridiagonal matrix, by Gaussian elimination with partial pivoting.

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


ARGUMENTS