Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

ssprfs (3p)

Name

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

Synopsis

SUBROUTINE SSPRFS(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(*)
REAL AP(*), AF(*), B(LDB,*), X(LDX,*), FERR(*), BERR(*), WORK(*)

SUBROUTINE SSPRFS_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(*)
REAL 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, DIMENSION(:) :: AP, AF, FERR, BERR, WORK
REAL, 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, DIMENSION(:) :: AP, AF, FERR, BERR, WORK
REAL, DIMENSION(:,:) :: B, X




C INTERFACE
#include <sunperf.h>

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

void ssprfs_64(char uplo, long n, long nrhs, float *ap, float *af, long
*ipivot, float *b, long ldb, float *x, long ldx, float *ferr,
float *berr, float *work, long *iwork, long *info);

Description

Oracle Solaris Studio Performance Library                           ssprfs(3P)



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


SYNOPSIS
       SUBROUTINE SSPRFS(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(*)
       REAL AP(*), AF(*), B(LDB,*), X(LDX,*), FERR(*), BERR(*), WORK(*)

       SUBROUTINE SSPRFS_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(*)
       REAL 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, DIMENSION(:) :: AP, AF, FERR, BERR, WORK
       REAL, 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, DIMENSION(:) :: AP, AF, FERR, BERR, WORK
       REAL, DIMENSION(:,:) :: B, X




   C INTERFACE
       #include <sunperf.h>

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

       void ssprfs_64(char uplo, long n, long nrhs, float *ap, float *af, long
                 *ipivot, float *b, long ldb, float *x, long ldx, float *ferr,
                 float *berr, float *work, long *iwork, long *info);



PURPOSE
       ssprfs  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)
                 Real 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  AP  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)
                 Real  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 factor-
                 ization A = U*D*U**T or A = L*D*L**T as computed  by  SSPTRF,
                 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 SSPTRF.


       B (input) Real 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)
                 Real  array,  dimension  (LDX,NRHS)  On  entry,  the solution
                 matrix X, as computed by SSPTRS.  On exit, the improved solu-
                 tion 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 corre-
                 sponding 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)
                 Real array, dimension (NRHS) The componentwise relative back-
                 ward  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)
                 Real array, dimension(3*N)

       WORK2 (workspace)
                 Integer array, dimension(N)


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




                                  7 Nov 2015                        ssprfs(3P)