cpttrs - 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 CPTTRS(UPLO, N, NRHS, D, E, B, LDB, INFO) CHARACTER*1 UPLO COMPLEX E(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO REAL D(*) SUBROUTINE CPTTRS_64(UPLO, N, NRHS, D, E, B, LDB, INFO) CHARACTER*1 UPLO COMPLEX E(*), B(LDB,*) INTEGER*8 N, NRHS, LDB, INFO REAL D(*) F95 INTERFACE SUBROUTINE PTTRS(UPLO, N, NRHS, D, E, B, LDB, INFO) CHARACTER(LEN=1) :: UPLO COMPLEX, DIMENSION(:) :: E COMPLEX, DIMENSION(:,:) :: B INTEGER :: N, NRHS, LDB, INFO REAL, DIMENSION(:) :: D SUBROUTINE PTTRS_64(UPLO, N, NRHS, D, E, B, LDB, INFO) CHARACTER(LEN=1) :: UPLO COMPLEX, DIMENSION(:) :: E COMPLEX, DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO REAL, DIMENSION(:) :: D C INTERFACE #include <sunperf.h> void cpttrs(char uplo, int n, int nrhs, float *d, complex *e, complex *b, int ldb, int *info); void cpttrs_64(char uplo, long n, long nrhs, float *d, complex *e, com- plex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library cpttrs(3P)
NAME
cpttrs - 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
SYNOPSIS
SUBROUTINE CPTTRS(UPLO, N, NRHS, D, E, B, LDB, INFO)
CHARACTER*1 UPLO
COMPLEX E(*), B(LDB,*)
INTEGER N, NRHS, LDB, INFO
REAL D(*)
SUBROUTINE CPTTRS_64(UPLO, N, NRHS, D, E, B, LDB, INFO)
CHARACTER*1 UPLO
COMPLEX E(*), B(LDB,*)
INTEGER*8 N, NRHS, LDB, INFO
REAL D(*)
F95 INTERFACE
SUBROUTINE PTTRS(UPLO, N, NRHS, D, E, B, LDB, INFO)
CHARACTER(LEN=1) :: UPLO
COMPLEX, DIMENSION(:) :: E
COMPLEX, DIMENSION(:,:) :: B
INTEGER :: N, NRHS, LDB, INFO
REAL, DIMENSION(:) :: D
SUBROUTINE PTTRS_64(UPLO, N, NRHS, D, E, B, LDB, INFO)
CHARACTER(LEN=1) :: UPLO
COMPLEX, DIMENSION(:) :: E
COMPLEX, DIMENSION(:,:) :: B
INTEGER(8) :: N, NRHS, LDB, INFO
REAL, DIMENSION(:) :: D
C INTERFACE
#include <sunperf.h>
void cpttrs(char uplo, int n, int nrhs, float *d, complex *e, complex
*b, int ldb, int *info);
void cpttrs_64(char uplo, long n, long nrhs, float *d, complex *e, com-
plex *b, long ldb, long *info);
PURPOSE
cpttrs 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 speci-
fied in the vector E, and X and B are N by NRHS matrices.
ARGUMENTS
UPLO (input)
Specifies the form of the factorization and whether the vec-
tor E is the superdiagonal of the upper bidiagonal factor U
or the subdiagonal of the lower bidiagonal factor L. = 'U':
A = U'*D*U, E is the superdiagonal of U
= 'L': A = L*D*L', E 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.
D (input) The n diagonal elements of the diagonal matrix D from the
factorization A = U'*D*U or A = L*D*L'.
E (input) If UPLO = 'U', the (n-1) superdiagonal elements of the unit
bidiagonal factor U from the factorization A = U'*D*U. If
UPLO = 'L', the (n-1) subdiagonal elements of the unit bidi-
agonal factor L from the factorization A = L*D*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 illegal value
7 Nov 2015 cpttrs(3P)