sgttrs
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.
-
* TRANSA (input)
-
Specifies the form of the system of equations.
-
* N (input)
-
The order of the matrix A.
-
* NRHS (input)
-
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
-
* LOW (input)
-
The (n-1) multipliers that define the matrix L from the
LU factorization of A.
-
* DIAG (input)
-
The n diagonal elements of the upper triangular matrix U from
the LU factorization of A.
-
* UP1 (input)
-
The (n-1) elements of the first super-diagonal of U.
-
* UP2 (input)
-
The (n-2) elements of the second super-diagonal of U.
-
* IPIVOT (input)
-
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIVOT(i). IPIVOT(i) will always be either
i or i+1; IPIVOT(i) = i indicates a row interchange was not
required.
-
* B (input/output)
-
On entry, the matrix of right hand side vectors B.
On exit, B is overwritten by the solution vectors X.
-
* LDB (input)
-
The leading dimension of the array B. LDB >= max(1,N).
-
* INFO (output)
-