Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dtbrfs (3p)

Name

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

Synopsis

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

CHARACTER*1 UPLO, TRANSA, DIAG
INTEGER N, KD, 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, KD, NRHS, A, LDA, B,
LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

CHARACTER*1 UPLO, TRANSA, DIAG
INTEGER*8 N, KD, 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, KD, NRHS, A, LDA, B,
LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
INTEGER :: N, KD, 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, KD, NRHS, A, LDA,
B, LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
INTEGER(8) :: N, KD, 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 kd, 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 kd, long
nrhs, double *a, long lda, double *b, long  ldb,  double  *x,
long ldx, double *ferr, double *berr, long *info);

Description

Oracle Solaris Studio Performance Library                           dtbrfs(3P)



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


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

       CHARACTER*1 UPLO, TRANSA, DIAG
       INTEGER N, KD, 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, KD, NRHS, A, LDA, B,
             LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

       CHARACTER*1 UPLO, TRANSA, DIAG
       INTEGER*8 N, KD, 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, KD, NRHS, A, LDA, B,
              LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

       CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
       INTEGER :: N, KD, 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, KD, NRHS, A, LDA,
              B, LDB, X, LDX, FERR, BERR, WORK, WORK2, INFO)

       CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
       INTEGER(8) :: N, KD, 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 kd, 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 kd, 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 solu-
       tion to a system of linear equations with a triangular band coefficient
       matrix.

       The  solution  matrix  X must be computed by DTBTRS or some other means
       before entering this routine.  DTBRFS 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.


       KD (input)
                 The  number of superdiagonals or subdiagonals of the triangu-
                 lar 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 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                        dtbrfs(3P)