NAME

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


SYNOPSIS

  SUBROUTINE DTBRFS( UPLO, TRANSA, DIAG, N, NDIAG, NRHS, A, LDA, B, 
 *      LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)
  CHARACTER * 1 UPLO, TRANSA, DIAG
  INTEGER N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  INTEGER WORK2(*)
  DOUBLE PRECISION A(LDA,*), B(LDB,*), X(LDX,*), FERR(*), BERR(*), WORK(*)
  SUBROUTINE DTBRFS_64( UPLO, TRANSA, DIAG, N, NDIAG, NRHS, A, LDA, B, 
 *      LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)
  CHARACTER * 1 UPLO, TRANSA, DIAG
  INTEGER*8 N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  INTEGER*8 WORK2(*)
  DOUBLE PRECISION A(LDA,*), B(LDB,*), X(LDX,*), FERR(*), BERR(*), WORK(*)

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
  INTEGER :: N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  INTEGER, DIMENSION(:) :: WORK2
  REAL(8), DIMENSION(:) :: FERR, BERR, WORK
  REAL(8), DIMENSION(:,:) :: A, B, X
  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
  INTEGER(8) :: N, NDIAG, NRHS, LDA, LDB, LDX, INFO
  INTEGER(8), DIMENSION(:) :: WORK2
  REAL(8), DIMENSION(:) :: FERR, BERR, WORK
  REAL(8), DIMENSION(:,:) :: A, B, X

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

dtbrfs 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 STBTRS or some other means before entering this routine. STBRFS does not do iterative refinement because doing so cannot improve the backward error.


ARGUMENTS