CGTSV

Purpose

CGTSV  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**H *X = B  may be solved by interchanging 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) COMPLEX array, dimension (N-1)
On entry, DL must contain the (n-1) subdiagonal elements 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) COMPLEX 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) COMPLEX 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) COMPLEX 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) INTEGER
= 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.

Call Graph

Caller Graph