cgttrs - solve 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 com- puted by CGTTRF
SUBROUTINE CGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE CGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*) F95 INTERFACE SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void cgttrs(char transa, int n, int nrhs, complex *low, complex *d, complex *up1, complex *up2, int *ipivot, complex *b, int ldb, int *info); void cgttrs_64(char transa, long n, long nrhs, complex *low, complex *d, complex *up1, complex *up2, long *ipivot, complex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library cgttrs(3P) NAME cgttrs - solve 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 com- puted by CGTTRF SYNOPSIS SUBROUTINE CGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE CGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER*8 N, NRHS, LDB, INFO INTEGER*8 IPIVOT(*) F95 INTERFACE SUBROUTINE GTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER :: N, NRHS, LDB, INFO INTEGER, DIMENSION(:) :: IPIVOT SUBROUTINE GTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER(LEN=1) :: TRANSA COMPLEX, DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX, DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void cgttrs(char transa, int n, int nrhs, complex *low, complex *d, complex *up1, complex *up2, int *ipivot, complex *b, int ldb, int *info); void cgttrs_64(char transa, long n, long nrhs, complex *low, complex *d, complex *up1, complex *up2, long *ipivot, complex *b, long ldb, long *info); PURPOSE 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. ARGUMENTS TRANSA (input) Specifies the form of the system of equations. = 'N': A * X = B (No transpose) = 'T': A**T * X = B (Transpose) = 'C': A**H * X = B (Conjugate 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 = -k, the k-th argument had an illegal value 7 Nov 2015 cgttrs(3P)