NAME

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


SYNOPSIS

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

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

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

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


ARGUMENTS