zgttrs - 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 computed by ZGTTRF
SUBROUTINE ZGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA DOUBLE COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE ZGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA DOUBLE 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(8), DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX(8), 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(8), DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX(8), DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void zgttrs(char transa, int n, int nrhs, doublecomplex *low, double- complex *d, doublecomplex *up1, doublecomplex *up2, int *ipivot, doublecomplex *b, int ldb, int *info); void zgttrs_64(char transa, long n, long nrhs, doublecomplex *low, dou- blecomplex *d, doublecomplex *up1, doublecomplex *up2, long *ipivot, doublecomplex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library zgttrs(3P) NAME zgttrs - 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 computed by ZGTTRF SYNOPSIS SUBROUTINE ZGTTRS(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA DOUBLE COMPLEX LOW(*), D(*), UP1(*), UP2(*), B(LDB,*) INTEGER N, NRHS, LDB, INFO INTEGER IPIVOT(*) SUBROUTINE ZGTTRS_64(TRANSA, N, NRHS, LOW, D, UP1, UP2, IPIVOT, B, LDB, INFO) CHARACTER*1 TRANSA DOUBLE 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(8), DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX(8), 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(8), DIMENSION(:) :: LOW, D, UP1, UP2 COMPLEX(8), DIMENSION(:,:) :: B INTEGER(8) :: N, NRHS, LDB, INFO INTEGER(8), DIMENSION(:) :: IPIVOT C INTERFACE #include <sunperf.h> void zgttrs(char transa, int n, int nrhs, doublecomplex *low, double- complex *d, doublecomplex *up1, doublecomplex *up2, int *ipivot, doublecomplex *b, int ldb, int *info); void zgttrs_64(char transa, long n, long nrhs, doublecomplex *low, dou- blecomplex *d, doublecomplex *up1, doublecomplex *up2, long *ipivot, doublecomplex *b, long ldb, long *info); PURPOSE zgttrs 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 ZGTTRF. 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 zgttrs(3P)