Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

strrfs (3p)

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);

Description

Oracle Solaris Studio Performance Library                           strrfs(3P)



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 solu-
       tion 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
       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 = Transpose)


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


       N (input) The order of the matrix A.  N >= 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 triangular matrix A.  If UPLO = 'U', the  leading  N-by-N
                 upper  triangular part of the array A contains the upper tri-
                 angular matrix, and the strictly lower triangular part  of  A
                 is  not  referenced.  If UPLO = 'L', the leading N-by-N lower
                 triangular part of the array A contains the lower  triangular
                 matrix,  and  the  strictly upper triangular part of A is not
                 referenced.  If DIAG = 'U', the diagonal elements  of  A  are
                 also not referenced and are assumed to be 1.


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


       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 solution 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 esti-
                 mated upper bound for the magnitude of the largest element in
                 (X(j)  -  XTRUE) divided by the magnitude of the largest ele-
                 ment 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 ele-
                 ment of A or B that makes X(j) an exact solution).


       WORK (workspace)
                 dimension(3*N)

       WORK2 (workspace)
                 dimension(N)


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




                                  7 Nov 2015                        strrfs(3P)