Contents


NAME

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

SYNOPSIS

     SUBROUTINE ZTBRFS(UPLO, TRANSA, DIAG, N, KD, NRHS, A, LDA, B, LDB,
           X, LDX, FERR, BERR, WORK, WORK2, INFO)

     CHARACTER * 1 UPLO, TRANSA, DIAG
     DOUBLE COMPLEX A(LDA,*), B(LDB,*), X(LDX,*), WORK(*)
     INTEGER N, KD, NRHS, LDA, LDB, LDX, INFO
     DOUBLE PRECISION FERR(*), BERR(*), WORK2(*)

     SUBROUTINE ZTBRFS_64(UPLO, TRANSA, DIAG, N, KD, NRHS, A, LDA, B,
           LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

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

  F95 INTERFACE
     SUBROUTINE TBRFS(UPLO, [TRANSA], DIAG, N, KD, NRHS, A, [LDA], B,
            [LDB], X, [LDX], FERR, BERR, [WORK], [WORK2], [INFO])

     CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
     COMPLEX(8), DIMENSION(:) :: WORK
     COMPLEX(8), DIMENSION(:,:) :: A, B, X
     INTEGER :: N, KD, NRHS, LDA, LDB, LDX, INFO
     REAL(8), DIMENSION(:) :: FERR, BERR, WORK2

     SUBROUTINE TBRFS_64(UPLO, [TRANSA], DIAG, N, KD, NRHS, A, [LDA],
            B, [LDB], X, [LDX], FERR, BERR, [WORK], [WORK2], [INFO])

     CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
     COMPLEX(8), DIMENSION(:) :: WORK
     COMPLEX(8), DIMENSION(:,:) :: A, B, X
     INTEGER(8) :: N, KD, NRHS, LDA, LDB, LDX, INFO
     REAL(8), DIMENSION(:) :: FERR, BERR, WORK2

  C INTERFACE
     #include <sunperf.h>

     void ztbrfs(char uplo, char transa, char diag,  int  n,  int
               kd,  int  nrhs,  doublecomplex  *a, int lda, doub-
               lecomplex *b, int ldb, doublecomplex *x, int  ldx,
               double *ferr, double *berr, int *info);

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

PURPOSE

     ztbrfs provides error bounds and  backward  error  estimates
     for the solution to a system of linear equations with a tri-
     angular band coefficient matrix.

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

ARGUMENTS

     UPLO (input)
               = 'U':  A is upper triangular;
               = 'L':  A is lower triangular.

     TRANSA (input)
               Specifies the form of the system of equations:
               = 'N':  A * X = B     (No transpose)
               = 'T':  A**T * X = B  (Transpose)
               = 'C':  A**H * X = B  (Conjugate transpose)

               TRANSA is defaulted to 'N' for F95 INTERFACE.

     DIAG (input)
               = 'N':  A is non-unit triangular;
               = 'U':  A is unit triangular.

     N (input) The order of the matrix A.  N >= 0.

     KD (input)
               The number of superdiagonals  or  subdiagonals  of
               the triangular band matrix A.  KD >= 0.

     NRHS (input)
               The number of right hand sides, i.e.,  the  number
               of columns of the matrices B and X.  NRHS >= 0.
     A (input) The upper  or  lower  triangular  band  matrix  A,
               stored  in  the  first kd+1 rows of the array. The
               j-th column of A is stored in the j-th  column  of
               the  array A as follows:  if UPLO = 'U', A(kd+1+i-
               j,j) = A(i,j) for  max(1,j-kd)<=i<=j;  if  UPLO  =
               'L', A(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
               If DIAG = 'U', the diagonal elements of A are  not
               referenced and are assumed to be 1.

     LDA (input)
               The leading dimension of  the  array  A.   LDA  >=
               KD+1.

     B (input) The right hand side matrix B.

     LDB (input)
               The leading dimension of  the  array  B.   LDB  >=
               max(1,N).

     X (input) The solution matrix X.

     LDX (input)
               The leading dimension of  the  array  X.   LDX  >=
               max(1,N).

     FERR (output)
               The estimated forward error bound for  each  solu-
               tion  vector X(j) (the j-th column of the solution
               matrix  X).   If  XTRUE  is  the   true   solution
               corresponding  to  X(j),  FERR(j)  is an estimated
               upper bound for the magnitude of the largest  ele-
               ment in (X(j) - XTRUE) divided by the magnitude of
               the largest element in X(j).  The estimate  is  as
               reliable  as the estimate for RCOND, and is almost
               always a slight overestimate of the true error.

     BERR (output)
               The componentwise relative backward error of  each
               solution  vector X(j) (i.e., the smallest relative
               change in any element of A or B that makes X(j) an
               exact solution).

     WORK (workspace)
               dimension(2*N)
     WORK2 (workspace)
               dimension(N)

     INFO (output)
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille-
               gal value