cpttrs (l) - Linux Manuals

cpttrs: solves a tridiagonal system of the form A * X = B using the factorization A = Uaq*D*U or A = L*D*Laq computed by CPTTRF

NAME

CPTTRS - solves a tridiagonal system of the form A * X = B using the factorization A = Uaq*D*U or A = L*D*Laq computed by CPTTRF

SYNOPSIS

SUBROUTINE CPTTRS(
UPLO, N, NRHS, D, E, B, LDB, INFO )

    
CHARACTER UPLO

    
INTEGER INFO, LDB, N, NRHS

    
REAL D( * )

    
COMPLEX B( LDB, * ), E( * )

PURPOSE

CPTTRS solves a tridiagonal system of the form
B using the factorization A = Uaq*D*U or A = L*D*Laq computed by CPTTRF. D is a diagonal matrix specified in the vector D, U (or L) is a unit bidiagonal matrix whose superdiagonal (subdiagonal) is specified in the vector E, and X and B are N by NRHS matrices.

ARGUMENTS

UPLO (input) CHARACTER*1
Specifies the form of the factorization and whether the vector E is the superdiagonal of the upper bidiagonal factor U or the subdiagonal of the lower bidiagonal factor L. = aqUaq: A = Uaq*D*U, E is the superdiagonal of U
= aqLaq: A = L*D*Laq, E is the subdiagonal of L
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 A = Uaq*D*U or A = L*D*Laq.
E (input) COMPLEX array, dimension (N-1)
If UPLO = aqUaq, the (n-1) superdiagonal elements of the unit bidiagonal factor U from the factorization A = Uaq*D*U. If UPLO = aqLaq, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization A = L*D*Laq.
B (input/output) REAL array, dimension (LDB,NRHS)
On entry, the right hand side vectors B for the system of linear equations. On exit, the solution vectors, X.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= max(1,N).
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value