NAME

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


SYNOPSIS

  SUBROUTINE ZTRRFS( UPLO, TRANSA, DIAG, N, 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, NRHS, LDA, LDB, LDX, INFO
  DOUBLE PRECISION FERR(*), BERR(*), WORK2(*)
  SUBROUTINE ZTRRFS_64( UPLO, TRANSA, DIAG, N, 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, NRHS, LDA, LDB, LDX, INFO
  DOUBLE PRECISION FERR(*), BERR(*), WORK2(*)

F95 INTERFACE

  SUBROUTINE TRRFS( UPLO, [TRANSA], DIAG, [N], [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, NRHS, LDA, LDB, LDX, INFO
  REAL(8), DIMENSION(:) :: FERR, BERR, WORK2
  SUBROUTINE TRRFS_64( UPLO, [TRANSA], DIAG, [N], [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, NRHS, LDA, LDB, LDX, INFO
  REAL(8), DIMENSION(:) :: FERR, BERR, WORK2

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

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

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


ARGUMENTS