Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

ctprfs (3p)

Name

ctprfs - provide error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coef- ficient matrix

Synopsis

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

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

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

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




F95 INTERFACE
SUBROUTINE TPRFS(UPLO, TRANSA, DIAG, N, NRHS, A, B, LDB, X,
LDX, FERR, BERR, WORK, WORK2, INFO)

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

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

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




C INTERFACE
#include <sunperf.h>

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

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

Description

Oracle Solaris Studio Performance Library                           ctprfs(3P)



NAME
       ctprfs  -  provide  error  bounds  and backward error estimates for the
       solution to a system of linear equations with a triangular packed coef-
       ficient matrix


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

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

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

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




   F95 INTERFACE
       SUBROUTINE TPRFS(UPLO, TRANSA, DIAG, N, NRHS, A, B, LDB, X,
              LDX, FERR, BERR, WORK, WORK2, INFO)

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

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

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




   C INTERFACE
       #include <sunperf.h>

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

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



PURPOSE
       ctprfs provides error bounds and backward error estimates for the solu-
       tion to a system of linear equations with a triangular  packed  coeffi-
       cient matrix.

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


       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) COMPLEX array, dimension (N*(N+1)/2)
                 The upper or lower triangular matrix A, packed columnwise  in
                 a  linear array.  The j-th column of A is stored in the array
                 A as follows: if UPLO = 'U', A(i + (j-1)*j/2)  =  A(i,j)  for
                 1<=i<=j;  if  UPLO  = 'L', A(i + (j-1)*(2n-j)/2) = A(i,j) for
                 j<=i<=n.  If DIAG = 'U', the diagonal elements of A  are  not
                 referenced and are assumed to be 1.


       B (input) COMPLEX array, dimension (LDB,NRHS)
                 The right hand side matrix B.


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


       X (input) COMPLEX array, dimension (LDX,NRHS)
                 The solution matrix X.


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


       FERR (output) REAL array, dimension (NRHS)
                 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) REAL array, dimension (NRHS)
                 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)
                 COMPLEX array, dimension(2*N)

       WORK2 (workspace)
                 REAL array, dimension(N)


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




                                  7 Nov 2015                        ctprfs(3P)