NAME

ctbrfs - provide error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix


SYNOPSIS

  SUBROUTINE CTBRFS( UPLO, TRANSA, DIAG, N, NDIAG, NRHS, A, LDA, B, 
 *      LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)
  CHARACTER * 1 UPLO, TRANSA, DIAG
  COMPLEX A(LDA,*), B(LDB,*), X(LDX,*), WORK(*)
  INTEGER N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  REAL FERR(*), BERR(*), WORK2(*)
  SUBROUTINE CTBRFS_64( UPLO, TRANSA, DIAG, N, NDIAG, NRHS, A, LDA, B, 
 *      LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)
  CHARACTER * 1 UPLO, TRANSA, DIAG
  COMPLEX A(LDA,*), B(LDB,*), X(LDX,*), WORK(*)
  INTEGER*8 N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  REAL FERR(*), BERR(*), WORK2(*)

F95 INTERFACE

  SUBROUTINE TBRFS( UPLO, [TRANSA], DIAG, [N], NDIAG, [NRHS], A, [LDA], 
 *       B, [LDB], X, [LDX], FERR, BERR, [WORK], [WORK2], [INFO])
  CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
  COMPLEX, DIMENSION(:) :: WORK
  COMPLEX, DIMENSION(:,:) :: A, B, X
  INTEGER :: N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  REAL, DIMENSION(:) :: FERR, BERR, WORK2
  SUBROUTINE TBRFS_64( UPLO, [TRANSA], DIAG, [N], NDIAG, [NRHS], A, 
 *       [LDA], B, [LDB], X, [LDX], FERR, BERR, [WORK], [WORK2], [INFO])
  CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
  COMPLEX, DIMENSION(:) :: WORK
  COMPLEX, DIMENSION(:,:) :: A, B, X
  INTEGER(8) :: N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  REAL, DIMENSION(:) :: FERR, BERR, WORK2

C INTERFACE

#include <sunperf.h>

void ctbrfs(char uplo, char transa, char diag, int n, int ndiag, int nrhs, complex *a, int lda, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);

void ctbrfs_64(char uplo, char transa, char diag, long n, long ndiag, long nrhs, complex *a, long lda, complex *b, long ldb, complex *x, long ldx, float *ferr, float *berr, long *info);


PURPOSE

ctbrfs provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix.

The solution matrix X must be computed by CTBTRS or some other means before entering this routine. CTBRFS does not do iterative refinement because doing so cannot improve the backward error.


ARGUMENTS