Contents
zpttrs - solve a tridiagonal system of the form A * X = B
using the factorization A = U'*D*U or A = L*D*L' computed by
CPTTRF
SUBROUTINE ZPTTRS(UPLO, N, NRHS, DIAG, OFFD, B, LDB, INFO)
CHARACTER * 1 UPLO
DOUBLE COMPLEX OFFD(*), B(LDB,*)
INTEGER N, NRHS, LDB, INFO
DOUBLE PRECISION DIAG(*)
SUBROUTINE ZPTTRS_64(UPLO, N, NRHS, DIAG, OFFD, B, LDB, INFO)
CHARACTER * 1 UPLO
DOUBLE COMPLEX OFFD(*), B(LDB,*)
INTEGER*8 N, NRHS, LDB, INFO
DOUBLE PRECISION DIAG(*)
F95 INTERFACE
SUBROUTINE PTTRS(UPLO, [N], [NRHS], DIAG, OFFD, B, [LDB], [INFO])
CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:) :: OFFD
COMPLEX(8), DIMENSION(:,:) :: B
INTEGER :: N, NRHS, LDB, INFO
REAL(8), DIMENSION(:) :: DIAG
SUBROUTINE PTTRS_64(UPLO, [N], [NRHS], DIAG, OFFD, B, [LDB], [INFO])
CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:) :: OFFD
COMPLEX(8), DIMENSION(:,:) :: B
INTEGER(8) :: N, NRHS, LDB, INFO
REAL(8), DIMENSION(:) :: DIAG
C INTERFACE
#include <sunperf.h>
void zpttrs(char uplo, int n, int nrhs, double *diag, doub-
lecomplex *offd, doublecomplex *b, int ldb, int
*info);
void zpttrs_64(char uplo, long n, long nrhs, double *diag,
doublecomplex *offd, doublecomplex *b, long ldb,
long *info);
zpttrs solves a tridiagonal system of the form
A * X = B using the factorization A = U'*D*U or A =
L*D*L' 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.
UPLO (input)
Specifies the form of the factorization and
whether the vector OFFD is the superdiagonal of
the upper bidiagonal factor U or the subdiagonal
of the lower bidiagonal factor L. = 'U': A =
U'*DIAG*U, OFFD is the superdiagonal of U
= 'L': A = L*DIAG*L', OFFD is the subdiagonal of
L
N (input) The order of the tridiagonal matrix A. N >= 0.
NRHS (input)
The number of right hand sides, i.e., the number
of columns of the matrix B. NRHS >= 0.
DIAG (input)
The n diagonal elements of the diagonal matrix
DIAG from the factorization A = U'*DIAG*U or A =
L*DIAG*L'.
OFFD (input/output)
If UPLO = 'U', the (n-1) superdiagonal elements of
the unit bidiagonal factor U from the factoriza-
tion A = U'*DIAG*U. If UPLO = 'L', the (n-1) sub-
diagonal elements of the unit bidiagonal factor L
from the factorization A = L*DIAG*L'.
B (input/output)
On entry, the right hand side vectors B for the
system of linear equations. On exit, the solution
vectors, X.
LDB (input)
The leading dimension of the array B. LDB >=
max(1,N).
INFO (output)
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an ille-
gal value