SYNOPSIS

SUBROUTINE ZPTTRSV(

UPLO, TRANS, N, NRHS, D, E, B, LDB, INFO )

CHARACTER

UPLO, TRANS

INTEGER

INFO, LDB, N, NRHS

DOUBLE

PRECISION D( * )

COMPLEX*16

B( LDB, * ), E( * )

PURPOSE

ZPTTRSV solves one of the triangular systems

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

where L or U is the Cholesky factor of a Hermitian positive definite tridiagonal matrix A such that

A = U**H*D*U or A = L*D*L**H (computed by ZPTTRF).

ARGUMENTS

UPLO (input) CHARACTER*1

Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix A is stored and the form of the factorization:

= 'U': E is the superdiagonal of U, and A = U'*D*U;

= 'L': E is the subdiagonal of L, and A = L*D*L'. (The two forms are equivalent if A is real.)

TRANS (input) CHARACTER

Specifies the form of the system of equations:

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

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

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

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

N (input) INTEGER

The order of the tridiagonal 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.

D (input) REAL array, dimension (N)

The n diagonal elements of the diagonal matrix D from the factorization computed by ZPTTRF.

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

The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed by ZPTTRF (see UPLO).

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

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