zgtts2 - solve a system of linear equations with a tridiagonal matrix using the LU factorization computed by zgttrf
SUBROUTINE ZGTTS2(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB) INTEGER ITRANS, LDB, N, NRHS INTEGER IPIV(*) DOUBLE COMPLEX B(LDB,*), D(*), DL(*), DU(*) ,DU2(*) SUBROUTINE ZGTTS2_64(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB) INTEGER*8 ITRANS, LDB, N, NRHS INTEGER*8 IPIV(*) DOUBLE COMPLEX B(LDB,*), D(*), DL(*), DU(*), DU2(*) F95 INTERFACE SUBROUTINE GTTS2(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB) INTEGER :: ITRANS, N, NRHS, LDB INTEGER, DIMENSION(:) :: IPIV COMPLEX(8), DIMENSION(:) :: DL, D, DU, DU2 COMPLEX(8), DIMENSION(:,:) :: B SUBROUTINE GTTS2_64(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB) INTEGER(8) :: ITRANS, N, NRHS, LDB INTEGER(8), DIMENSION(:) :: IPIV COMPLEX(8), DIMENSION(:) :: DL, D, DU, DU2 COMPLEX(8), DIMENSION(:,:) :: B C INTERFACE #include <sunperf.h> void zgtts2 (int itrans, int n, int nrhs, doublecomplex *dl, doublecom- plex *d, doublecomplex *du, doublecomplex *du2, int *ipiv, doublecomplex *b, int ldb); void zgtts2_64 (long itrans, long n, long nrhs, doublecomplex *dl, dou- blecomplex *d, doublecomplex *du, doublecomplex *du2, long *ipiv, doublecomplex *b, long ldb);
Oracle Solaris Studio Performance Library zgtts2(3P)
NAME
zgtts2 - solve a system of linear equations with a tridiagonal matrix
using the LU factorization computed by zgttrf
SYNOPSIS
SUBROUTINE ZGTTS2(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB)
INTEGER ITRANS, LDB, N, NRHS
INTEGER IPIV(*)
DOUBLE COMPLEX B(LDB,*), D(*), DL(*), DU(*) ,DU2(*)
SUBROUTINE ZGTTS2_64(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB)
INTEGER*8 ITRANS, LDB, N, NRHS
INTEGER*8 IPIV(*)
DOUBLE COMPLEX B(LDB,*), D(*), DL(*), DU(*), DU2(*)
F95 INTERFACE
SUBROUTINE GTTS2(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB)
INTEGER :: ITRANS, N, NRHS, LDB
INTEGER, DIMENSION(:) :: IPIV
COMPLEX(8), DIMENSION(:) :: DL, D, DU, DU2
COMPLEX(8), DIMENSION(:,:) :: B
SUBROUTINE GTTS2_64(ITRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB)
INTEGER(8) :: ITRANS, N, NRHS, LDB
INTEGER(8), DIMENSION(:) :: IPIV
COMPLEX(8), DIMENSION(:) :: DL, D, DU, DU2
COMPLEX(8), DIMENSION(:,:) :: B
C INTERFACE
#include <sunperf.h>
void zgtts2 (int itrans, int n, int nrhs, doublecomplex *dl, doublecom-
plex *d, doublecomplex *du, doublecomplex *du2, int *ipiv,
doublecomplex *b, int ldb);
void zgtts2_64 (long itrans, long n, long nrhs, doublecomplex *dl, dou-
blecomplex *d, doublecomplex *du, doublecomplex *du2, long
*ipiv, doublecomplex *b, long ldb);
PURPOSE
zgtts2 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 com-
puted by ZGTTRF.
ARGUMENTS
ITRANS (input)
ITRANS is INTEGER
Specifies the form of the system of equations.
= 0: A * X = B (No transpose),
= 1: A**T * X = B (Transpose),
= 2: A**H * X = B (Conjugate transpose).
N (input)
N is INTEGER
The order of the matrix A.
NRHS (input)
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
DL (input)
DL is COMPLEX*16 array, dimension (N-1)
The (N-1) multipliers that define the matrix L from the
LU factorization of A.
D (input)
D is COMPLEX*16 array, dimension (N)
The n diagonal elements of the upper triangular matrix U from
the LU factorization of A.
DU (input)
DU is COMPLEX*16 array, dimension (N-1)
The (n-1) elements of the first super-diagonal of U.
DU2 (input)
DU2 is COMPLEX*16 array, dimension (N-2)
The (N-2) elements of the second super-diagonal of U.
IPIV (input)
IPIV is INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= N, row i of the matrix was
interchanged with row IPIV(i). IPIV(i) will always be either
i or i+1; IPIV(i) = i indicates a row interchange was not
required.
B (input/output)
B is COMPLEX*16 array, dimension (LDB,NRHS)
On entry, the matrix of right hand side vectors B.
On exit, B is overwritten by the solution vectors X.
LDB (input)
LDB is INTEGER
The leading dimension of the array B. LDB >= max(1,N).
7 Nov 2015 zgtts2(3P)