Solve one of the triangular systems l * x = b, or l**h * x = b,
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( * )
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).
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