sgttrs - solve one of the systems of equations A*X = B or A'*X = B,
SUBROUTINE SGTTRS( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, B, * LDB, INFO) CHARACTER * 1 TRANSA INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) REAL LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*)
SUBROUTINE SGTTRS_64( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, * B, LDB, INFO) CHARACTER * 1 TRANSA INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*) REAL LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*)
SUBROUTINE GTTRS( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, * IPIVOT, B, [LDB], [INFO]) CHARACTER(LEN=1) :: TRANSA INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, DIAG, UP1, UP2 REAL, DIMENSION(:,:) :: B
SUBROUTINE GTTRS_64( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, * IPIVOT, B, [LDB], [INFO]) CHARACTER(LEN=1) :: TRANSA INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, DIAG, UP1, UP2 REAL, DIMENSION(:,:) :: B
#include <sunperf.h>
void sgttrs(char transa, int n, int nrhs, float *low, float *diag, float *up1, float *up2, int *ipivot, float *b, int ldb, int *info);
void sgttrs_64(char transa, long n, long nrhs, float *low, float *diag, float *up1, float *up2, long *ipivot, float *b, long ldb, long *info);
sgttrs solves one of the systems of equations A*X = B or A'*X = B, with a tridiagonal matrix A using the LU factorization computed by SGTTRF.
= 'T': A'* X = B (Transpose)
= 'C': A'* X = B (Conjugate transpose = 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 = -i, the i-th argument had an illegal value