cgttrs - solve one of the systems of equations A * X = B, A**T * X = B, or A**H * X = B,
SUBROUTINE CGTTRS( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, B, * LDB, INFO) CHARACTER * 1 TRANSA COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*)
SUBROUTINE CGTTRS_64( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, * B, LDB, INFO) CHARACTER * 1 TRANSA COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*) INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*)
SUBROUTINE GTTRS( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, * IPIVOT, B, [LDB], [INFO]) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, DIAG, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT
SUBROUTINE GTTRS_64( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, * IPIVOT, B, [LDB], [INFO]) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, DIAG, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT
#include <sunperf.h>
void cgttrs(char transa, int n, int nrhs, complex *low, complex *diag, complex *up1, complex *up2, int *ipivot, complex *b, int ldb, int *info);
void cgttrs_64(char transa, long n, long nrhs, complex *low, complex *diag, complex *up1, complex *up2, long *ipivot, complex *b, long ldb, long *info);
cgttrs solves one of the systems of equations A * X = B, A**T * X = B, or A**H * X = B, with a tridiagonal matrix A using the LU factorization computed by CGTTRF.
= 'T': A**T * X = B (Transpose)
= 'C': A**H * X = B (Conjugate transpose)
IPIVOT(i)
will always be either
i or i+1; IPIVOT(i)
= i indicates a row interchange was not
required.
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value