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)