sgttrs - solve 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
SUBROUTINE SGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) SUBROUTINE SGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*) REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) F95 INTERFACE SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, D, UP1, UP2 REAL, DIMENSION(:,:) :: B SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, D, UP1, UP2 REAL, DIMENSION(:,:) :: B C INTERFACE #include <sunperf.h> void sgttrs(char transa, int n, int nrhs, float *low, float *d, float *up1, float *up2, int *ipivot, float *b, int ldb, int *info); void sgttrs_64(char transa, long n, long nrhs, float *low, float *d, float *up1, float *up2, long *ipivot, float *b, long ldb, long *info);
Oracle Solaris Studio Performance Library sgttrs(3P) NAME sgttrs - solve 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 SYNOPSIS SUBROUTINE SGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) SUBROUTINE SGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*) REAL LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) F95 INTERFACE SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, D, UP1, UP2 REAL, DIMENSION(:,:) :: B SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL, DIMENSION(:) :: LOW, D, UP1, UP2 REAL, DIMENSION(:,:) :: B C INTERFACE #include <sunperf.h> void sgttrs(char transa, int n, int nrhs, float *low, float *d, float *up1, float *up2, int *ipivot, float *b, int ldb, int *info); void sgttrs_64(char transa, long n, long nrhs, float *low, float *d, float *up1, float *up2, long *ipivot, float *b, long ldb, long *info); PURPOSE sgttrs solves one of the systems of equations A*X = B or A'*X = B, with a tridiagonal matrix A using the LU fac- torization computed by SGTTRF. ARGUMENTS TRANSA (input) Specifies the form of the system of equations. = 'N': A * X = B (No transpose) = 'T': A'* X = B (Transpose) = 'C': A'* X = B (Conjugate transpose = Transpose) 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. D (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) = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value 7 Nov 2015 sgttrs(3P)