NAME

cgtrfs - improve the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and provides error bounds and backward error estimates for the solution


SYNOPSIS

  SUBROUTINE CGTRFS( TRANSA, N, NRHS, LOW, DIAG, UP, LOWF, DIAGF, 
 *      UPF1, UPF2, IPIVOT, B, LDB, X, LDX, FERR, BERR, WORK, WORK2, 
 *      INFO)
  CHARACTER * 1 TRANSA
  COMPLEX LOW(*), DIAG(*), UP(*), LOWF(*), DIAGF(*), UPF1(*), UPF2(*), B(LDB,*), X(LDX,*), WORK(*)
  INTEGER N, NRHS, LDB, LDX, INFO
  INTEGER IPIVOT(*)
  REAL FERR(*), BERR(*), WORK2(*)
  SUBROUTINE CGTRFS_64( TRANSA, N, NRHS, LOW, DIAG, UP, LOWF, DIAGF, 
 *      UPF1, UPF2, IPIVOT, B, LDB, X, LDX, FERR, BERR, WORK, WORK2, 
 *      INFO)
  CHARACTER * 1 TRANSA
  COMPLEX LOW(*), DIAG(*), UP(*), LOWF(*), DIAGF(*), UPF1(*), UPF2(*), B(LDB,*), X(LDX,*), WORK(*)
  INTEGER*8 N, NRHS, LDB, LDX, INFO
  INTEGER*8 IPIVOT(*)
  REAL FERR(*), BERR(*), WORK2(*)

F95 INTERFACE

  SUBROUTINE GTRFS( [TRANSA], [N], [NRHS], LOW, DIAG, UP, LOWF, DIAGF, 
 *       UPF1, UPF2, IPIVOT, B, [LDB], X, [LDX], FERR, BERR, [WORK], 
 *       [WORK2], [INFO])
  CHARACTER(LEN=1) :: TRANSA
  COMPLEX, DIMENSION(:) :: LOW, DIAG, UP, LOWF, DIAGF, UPF1, UPF2, WORK
  COMPLEX, DIMENSION(:,:) :: B, X
  INTEGER :: N, NRHS, LDB, LDX, INFO
  INTEGER, DIMENSION(:) :: IPIVOT
  REAL, DIMENSION(:) :: FERR, BERR, WORK2
  SUBROUTINE GTRFS_64( [TRANSA], [N], [NRHS], LOW, DIAG, UP, LOWF, 
 *       DIAGF, UPF1, UPF2, IPIVOT, B, [LDB], X, [LDX], FERR, BERR, [WORK], 
 *       [WORK2], [INFO])
  CHARACTER(LEN=1) :: TRANSA
  COMPLEX, DIMENSION(:) :: LOW, DIAG, UP, LOWF, DIAGF, UPF1, UPF2, WORK
  COMPLEX, DIMENSION(:,:) :: B, X
  INTEGER(8) :: N, NRHS, LDB, LDX, INFO
  INTEGER(8), DIMENSION(:) :: IPIVOT
  REAL, DIMENSION(:) :: FERR, BERR, WORK2

C INTERFACE

#include <sunperf.h>

void cgtrfs(char transa, int n, int nrhs, complex *low, complex *diag, complex *up, complex *lowf, complex *diagf, complex *upf1, complex *upf2, int *ipivot, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);

void cgtrfs_64(char transa, long n, long nrhs, complex *low, complex *diag, complex *up, complex *lowf, complex *diagf, complex *upf1, complex *upf2, long *ipivot, complex *b, long ldb, complex *x, long ldx, float *ferr, float *berr, long *info);


PURPOSE

cgtrfs improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and provides error bounds and backward error estimates for the solution.


ARGUMENTS