zgtsv - N tridiagonal matrix, by Gaussian elimination with partial pivoting
SUBROUTINE ZGTSV(N, NRHS, LOW, D, UP, B, LDB, INFO) DOUBLE COMPLEX LOW(*), D(*), UP(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO SUBROUTINE ZGTSV_64(N, NRHS, LOW, D, UP, B, LDB, INFO) DOUBLE COMPLEX LOW(*), D(*), UP(*), B(LDB,*) INTEGER*8 N, NRHS, LDB, INFO F95 INTERFACE SUBROUTINE GTSV(N, NRHS, LOW, D, UP, B, LDB, INFO) COMPLEX(8), DIMENSION(:) :: LOW, D, UP COMPLEX(8), DIMENSION(:,:) :: B INTEGER :: N, NRHS, LDB, INFO SUBROUTINE GTSV_64(N, NRHS, LOW, D, UP, B, LDB, INFO) COMPLEX(8), DIMENSION(:) :: LOW, D, UP COMPLEX(8), DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO C INTERFACE #include <sunperf.h> void zgtsv(int n, int nrhs, doublecomplex *low, doublecomplex *d, dou- blecomplex *up, doublecomplex *b, int ldb, int *info); void zgtsv_64(long n, long nrhs, doublecomplex *low, doublecomplex *d, doublecomplex *up, doublecomplex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library zgtsv(3P)
NAME
zgtsv - solve the equation A*X = B, where A is an N-by-N tridiagonal
matrix, by Gaussian elimination with partial pivoting
SYNOPSIS
SUBROUTINE ZGTSV(N, NRHS, LOW, D, UP, B, LDB, INFO)
DOUBLE COMPLEX LOW(*), D(*), UP(*), B(LDB,*)
INTEGER N, NRHS, LDB, INFO
SUBROUTINE ZGTSV_64(N, NRHS, LOW, D, UP, B, LDB, INFO)
DOUBLE COMPLEX LOW(*), D(*), UP(*), B(LDB,*)
INTEGER*8 N, NRHS, LDB, INFO
F95 INTERFACE
SUBROUTINE GTSV(N, NRHS, LOW, D, UP, B, LDB, INFO)
COMPLEX(8), DIMENSION(:) :: LOW, D, UP
COMPLEX(8), DIMENSION(:,:) :: B
INTEGER :: N, NRHS, LDB, INFO
SUBROUTINE GTSV_64(N, NRHS, LOW, D, UP, B, LDB, INFO)
COMPLEX(8), DIMENSION(:) :: LOW, D, UP
COMPLEX(8), DIMENSION(:,:) :: B
INTEGER(8) :: N, NRHS, LDB, INFO
C INTERFACE
#include <sunperf.h>
void zgtsv(int n, int nrhs, doublecomplex *low, doublecomplex *d, dou-
blecomplex *up, doublecomplex *b, int ldb, int *info);
void zgtsv_64(long n, long nrhs, doublecomplex *low, doublecomplex *d,
doublecomplex *up, doublecomplex *b, long ldb, long *info);
PURPOSE
zgtsv solves the equation A*X=B 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
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) subdiagonal elements of
A. On exit, LOW is overwritten by the (n-2) elements of the
second superdiagonal of the upper triangular 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 elements of U.
UP (input/output)
On entry, UP must contain the (n-1) superdiagonal elements of
A. On exit, UP is overwritten by the (n-1) elements of the
first superdiagonal of U.
B (input/output)
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)
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 com-
pleted unless i = N.
7 Nov 2015 zgtsv(3P)