NAME

cgtsv - solve the equation A*X = B,


SYNOPSIS

  SUBROUTINE CGTSV( N, NRHS, LOW, DIAG, UP, B, LDB, INFO)
  COMPLEX LOW(*), DIAG(*), UP(*), B(LDB,*)
  INTEGER N, NRHS, LDB, INFO
  SUBROUTINE CGTSV_64( N, NRHS, LOW, DIAG, UP, B, LDB, INFO)
  COMPLEX LOW(*), DIAG(*), UP(*), B(LDB,*)
  INTEGER*8 N, NRHS, LDB, INFO

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

void cgtsv(int n, int nrhs, complex *low, complex *diag, complex *up, complex *b, int ldb, int *info);

void cgtsv_64(long n, long nrhs, complex *low, complex *diag, complex *up, complex *b, long ldb, long *info);


PURPOSE

cgtsv 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