SYNOPSIS

SUBROUTINE CDTTRSV(

UPLO, TRANS, N, NRHS, DL, D, DU, B, LDB, INFO )

CHARACTER

UPLO, TRANS

INTEGER

INFO, LDB, N, NRHS

COMPLEX

B( LDB, * ), D( * ), DL( * ), DU( * )

PURPOSE

CDTTRSV solves one of the systems of equations

   L * X = B,  L**T * X = B,  or  L**H * X = B,
   U * X = B,  U**T * X = B,  or  U**H * X = B,

with factors of the tridiagonal matrix A from the LU factorization computed by CDTTRF.

ARGUMENTS

UPLO (input) CHARACTER*1

Specifies whether to solve with L or U.

TRANS (input) CHARACTER

Specifies the form of the system of equations:

= 'N': A * X = B (No transpose)

= 'T': A**T * X = B (Transpose)

= 'C': A**H * X = B (Conjugate transpose)

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) COMPLEX array, dimension (N-1)

The (n-1) multipliers that define the matrix L from the LU factorization of A.

D (input) COMPLEX array, dimension (N)

The n diagonal elements of the upper triangular matrix U from the LU factorization of A.

DU (input) COMPLEX array, dimension (N-1)

The (n-1) elements of the first superdiagonal of U.

B (input/output) COMPLEX array, dimension (LDB,NRHS)

On entry, the right hand side matrix B. On exit, B is overwritten by the 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