Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

csprfs (3p)

Name

csprfs - 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 CSPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX, FERR,
BERR, WORK, WORK2, INFO)

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

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

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




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

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

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

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




C INTERFACE
#include <sunperf.h>

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

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

Description

Oracle Solaris Studio Performance Library                           csprfs(3P)



NAME
       csprfs  - 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 CSPRFS(UPLO, N, NRHS, AP, AF, IPIVOT, B, LDB, X, LDX, FERR,
             BERR, WORK, WORK2, INFO)

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

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

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




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

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

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

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




   C INTERFACE
       #include <sunperf.h>

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

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



PURPOSE
       csprfs  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)
                 Complex array, dimension (N*(N+1)/2) The upper or lower  tri-
                 angle  of the symmetric matrix A, packed columnwise in a lin-
                 ear 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)
                 Complex 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  CSPTRF,
                 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 CSPTRF.


       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/output)
                 Complex  array,  dimension  (LDX,NRHS) On entry, the solution
                 matrix X, as computed by CSPTRS.  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)
                 Complex array, dimension(2*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                        csprfs(3P)