Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dsprfs (3p)

Name

dsprfs - improve the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, pro- vides error bounds and backward error estimates for the solution

Synopsis

SUBROUTINE DSPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX, FERR,
BERR, WORK, WORK2, INFO)

CHARACTER*1 UPLO
INTEGER N, NRHS, LDB, LDX, INFO
INTEGER IPIVOT(*), WORK2(*)
DOUBLE  PRECISION  AP(*),  AF(*), B(LDB,*), X(LDX,*), FERR(*), BERR(*),
WORK(*)

SUBROUTINE DSPRFS_64(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
FERR, BERR, WORK, WORK2, INFO)

CHARACTER*1 UPLO
INTEGER*8 N, NRHS, LDB, LDX, INFO
INTEGER*8 IPIVOT(*), WORK2(*)
DOUBLE PRECISION AP(*), AF(*), B(LDB,*),  X(LDX,*),  FERR(*),  BERR(*),
WORK(*)




F95 INTERFACE
SUBROUTINE SPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
FERR, BERR, WORK, WORK2, INFO)

CHARACTER(LEN=1) :: UPLO
INTEGER :: N, NRHS, LDB, LDX, INFO
INTEGER, DIMENSION(:) :: IPIVOT, WORK2
REAL(8), DIMENSION(:) :: AP, AF, FERR, BERR, WORK
REAL(8), DIMENSION(:,:) :: B, X

SUBROUTINE SPRFS_64(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
FERR, BERR, WORK, WORK2, INFO)

CHARACTER(LEN=1) :: UPLO
INTEGER(8) :: N, NRHS, LDB, LDX, INFO
INTEGER(8), DIMENSION(:) :: IPIVOT, WORK2
REAL(8), DIMENSION(:) :: AP, AF, FERR, BERR, WORK
REAL(8), DIMENSION(:,:) :: B, X




C INTERFACE
#include <sunperf.h>

void  dsprfs(char  uplo,  int  n, int nrhs, double *ap, double *af, int
*ipivot, double *b, int  ldb,  double  *x,  int  ldx,  double
*ferr, double *berr, int *info);

void  dsprfs_64(char  uplo,  long n, long nrhs, double *ap, double *af,
long *ipivot, double *b, long ldb, double *x, long ldx,  dou-
ble *ferr, double *berr, long *info);

Description

Oracle Solaris Studio Performance Library                           dsprfs(3P)



NAME
       dsprfs  - improve the computed solution to a system of linear equations
       when the coefficient matrix is symmetric indefinite  and  packed,  pro-
       vides error bounds and backward error estimates for the solution


SYNOPSIS
       SUBROUTINE DSPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX, FERR,
             BERR, WORK, WORK2, INFO)

       CHARACTER*1 UPLO
       INTEGER N, NRHS, LDB, LDX, INFO
       INTEGER IPIVOT(*), WORK2(*)
       DOUBLE  PRECISION  AP(*),  AF(*), B(LDB,*), X(LDX,*), FERR(*), BERR(*),
       WORK(*)

       SUBROUTINE DSPRFS_64(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
             FERR, BERR, WORK, WORK2, INFO)

       CHARACTER*1 UPLO
       INTEGER*8 N, NRHS, LDB, LDX, INFO
       INTEGER*8 IPIVOT(*), WORK2(*)
       DOUBLE PRECISION AP(*), AF(*), B(LDB,*),  X(LDX,*),  FERR(*),  BERR(*),
       WORK(*)




   F95 INTERFACE
       SUBROUTINE SPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
              FERR, BERR, WORK, WORK2, INFO)

       CHARACTER(LEN=1) :: UPLO
       INTEGER :: N, NRHS, LDB, LDX, INFO
       INTEGER, DIMENSION(:) :: IPIVOT, WORK2
       REAL(8), DIMENSION(:) :: AP, AF, FERR, BERR, WORK
       REAL(8), DIMENSION(:,:) :: B, X

       SUBROUTINE SPRFS_64(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX,
              FERR, BERR, WORK, WORK2, INFO)

       CHARACTER(LEN=1) :: UPLO
       INTEGER(8) :: N, NRHS, LDB, LDX, INFO
       INTEGER(8), DIMENSION(:) :: IPIVOT, WORK2
       REAL(8), DIMENSION(:) :: AP, AF, FERR, BERR, WORK
       REAL(8), DIMENSION(:,:) :: B, X




   C INTERFACE
       #include <sunperf.h>

       void  dsprfs(char  uplo,  int  n, int nrhs, double *ap, double *af, int
                 *ipivot, double *b, int  ldb,  double  *x,  int  ldx,  double
                 *ferr, double *berr, int *info);

       void  dsprfs_64(char  uplo,  long n, long nrhs, double *ap, double *af,
                 long *ipivot, double *b, long ldb, double *x, long ldx,  dou-
                 ble *ferr, double *berr, long *info);



PURPOSE
       dsprfs  improves  the computed solution to a system of linear equations
       when the coefficient matrix is symmetric  indefinite  and  packed,  and
       provides error bounds and backward error estimates for the solution.


ARGUMENTS
       UPLO (input)
                 = 'U':  Upper triangle of A is stored;
                 = 'L':  Lower triangle of A is stored.


       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.


       AP (input)
                 Double precsion array, dimension  (N*(N+1)/2)  The  upper  or
                 lower  triangle  of the symmetric 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', AP(i + (j-1)*j/2) = A(i,j)
                 for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) =  A(i,j)
                 for j<=i<=n.


       AF (input)
                 Double  precsion  array,  dimension  (N*(N+1)/2) The factored
                 form of the matrix A.  AF contains the block diagonal  matrix
                 D  and  the multipliers used to obtain the factor U or L from
                 the factorization A = U*D*U**T or A = L*D*L**T as computed by
                 DSPTRF, stored as a packed triangular matrix.


       IPIVOT (input)
                 Integer  array, dimension (N) Details of the interchanges and
                 the block structure of D as determined by DSPTRF.


       B (input) Double precision 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/output)
                 Double  precision  array,  dimension (LDX,NRHS) On entry, the
                 solution matrix X, as  computed  by  DSPTRS.   On  exit,  the
                 improved solution matrix X.


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


       FERR (output)
                 Double  precision  array, dimension (NRHS) The estimated for-
                 ward error bound for each solution vector X(j) (the j-th col-
                 umn of the solution matrix X).  If XTRUE is the true solution
                 corresponding to X(j), FERR(j) is an  estimated  upper  bound
                 for  the  magnitude  of the largest element in (X(j) - XTRUE)
                 divided by the magnitude of the largest element 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)
                 Double precision array, dimension  (NRHS)  The  componentwise
                 relative  backward  error of each solution vector X(j) (i.e.,
                 the smallest relative change in any element of A  or  B  that
                 makes X(j) an exact solution).


       WORK (workspace)
                 Double precision array, dimension(3*N)

       WORK2 (workspace)
                 Integer array, dimension(N)


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




                                  7 Nov 2015                        dsprfs(3P)