Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

zsprfs (3p)

Name

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

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

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

CHARACTER*1 UPLO
DOUBLE COMPLEX AP(*), AF(*), B(LDB,*), X(LDX,*), WORK(*)
INTEGER*8 N, NRHS, LDB, LDX, INFO
INTEGER*8 IPIVOT(*)
DOUBLE PRECISION 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(8), DIMENSION(:) :: AP, AF, WORK
COMPLEX(8), DIMENSION(:,:) :: B, X
INTEGER :: N, NRHS, LDB, LDX, INFO
INTEGER, DIMENSION(:) :: IPIVOT
REAL(8), 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(8), DIMENSION(:) :: AP, AF, WORK
COMPLEX(8), DIMENSION(:,:) :: B, X
INTEGER(8) :: N, NRHS, LDB, LDX, INFO
INTEGER(8), DIMENSION(:) :: IPIVOT
REAL(8), DIMENSION(:) :: FERR, BERR, WORK2




C INTERFACE
#include <sunperf.h>

void  zsprfs(char  uplo, int n, int nrhs, doublecomplex *ap, doublecom-
plex *af, int *ipivot, doublecomplex *b, int ldb,  doublecom-
plex *x, int ldx, double *ferr, double *berr, int *info);

void zsprfs_64(char uplo, long n, long nrhs, doublecomplex *pa, double-
complex *af, long *ipivot, doublecomplex *b, long  ldb,  dou-
blecomplex  *x,  long  ldx,  double *ferr, double *berr, long
*info);

Description

Oracle Solaris Studio Performance Library                           zsprfs(3P)



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

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

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

       CHARACTER*1 UPLO
       DOUBLE COMPLEX AP(*), AF(*), B(LDB,*), X(LDX,*), WORK(*)
       INTEGER*8 N, NRHS, LDB, LDX, INFO
       INTEGER*8 IPIVOT(*)
       DOUBLE PRECISION 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(8), DIMENSION(:) :: AP, AF, WORK
       COMPLEX(8), DIMENSION(:,:) :: B, X
       INTEGER :: N, NRHS, LDB, LDX, INFO
       INTEGER, DIMENSION(:) :: IPIVOT
       REAL(8), 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(8), DIMENSION(:) :: AP, AF, WORK
       COMPLEX(8), DIMENSION(:,:) :: B, X
       INTEGER(8) :: N, NRHS, LDB, LDX, INFO
       INTEGER(8), DIMENSION(:) :: IPIVOT
       REAL(8), DIMENSION(:) :: FERR, BERR, WORK2




   C INTERFACE
       #include <sunperf.h>

       void  zsprfs(char  uplo, int n, int nrhs, doublecomplex *ap, doublecom-
                 plex *af, int *ipivot, doublecomplex *b, int ldb,  doublecom-
                 plex *x, int ldx, double *ferr, double *berr, int *info);

       void zsprfs_64(char uplo, long n, long nrhs, doublecomplex *pa, double-
                 complex *af, long *ipivot, doublecomplex *b, long  ldb,  dou-
                 blecomplex  *x,  long  ldx,  double *ferr, double *berr, long
                 *info);



PURPOSE
       zsprfs 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  complex  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)
                 Double 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
                 factorization  A  =  U*D*U**T  or A = L*D*L**T as computed by
                 ZSPTRF, 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 ZSPTRF.


       B (input) Double  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)
                 Double complex array,  dimension  (LDX,NRHS)  On  entry,  the
                 solution  matrix  X,  as  computed  by  ZSPTRS.  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(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                        zsprfs(3P)