zgttrs


NAME

zgttrs - solve one of the systems of equations A * X = B, A**T * X = B, or A**H * X = B,


SYNOPSIS

  SUBROUTINE ZGTTRS( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, B, 
 *      LDB, INFO)
  CHARACTER * 1 TRANSA
  DOUBLE COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*)
  INTEGER N, NRHS, LDB, INFO
  INTEGER IPIVOT(*)
 
  SUBROUTINE ZGTTRS_64( TRANSA, N, NRHS, LOW, DIAG, UP1, UP2, IPIVOT, 
 *      B, LDB, INFO)
  CHARACTER * 1 TRANSA
  DOUBLE COMPLEX LOW(*), DIAG(*), UP1(*), UP2(*), B(LDB,*)
  INTEGER*8 N, NRHS, LDB, INFO
  INTEGER*8 IPIVOT(*)
 

F95 INTERFACE

  SUBROUTINE GTTRS( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, 
 *       IPIVOT, B, [LDB], [INFO])
  CHARACTER(LEN=1) :: TRANSA
  COMPLEX(8), DIMENSION(:) :: LOW, DIAG, UP1, UP2
  COMPLEX(8), DIMENSION(:,:) :: B
  INTEGER :: N, NRHS, LDB, INFO
  INTEGER, DIMENSION(:) :: IPIVOT
 
  SUBROUTINE GTTRS_64( [TRANSA], [N], [NRHS], LOW, DIAG, UP1, UP2, 
 *       IPIVOT, B, [LDB], [INFO])
  CHARACTER(LEN=1) :: TRANSA
  COMPLEX(8), DIMENSION(:) :: LOW, DIAG, 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, doublecomplex *diag, doublecomplex *up1, doublecomplex *up2, int *ipivot, doublecomplex *b, int ldb, int *info);

void zgttrs_64(char transa, long n, long nrhs, doublecomplex *low, doublecomplex *diag, 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 CGTTRF.


ARGUMENTS

* TRANSA (input)
Specifies the form of the system of equations.

* 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.

* DIAG (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)