Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

cgsequ (3p)

Name

cgsequ - ings intended to equilibrate an M-by-N sparse matrix A and reduce its condition number.

Synopsis

#include <sunperf.h>


void  sgsequ(SuperMatrix  *A,  float *R, float *C, float *rowcnd, float
*colcnd, float *amax, int *info)


void dgsequ(SuperMatrix *A, double *R, double *C, double *rowcnd,  dou-
ble *colcnd, double *amax, int *info)


void  cgsequ(SuperMatrix  *A,  float *R, float *C, float *rowcnd, float
*colcnd, float *amax, int *info)


void zgsequ(SuperMatrix *A, double *R, double *C, double *rowcnd,  dou-
ble *colcnd, double *amax, int *info)


void  sgsequ_64(SuperMatrix_64  *A,  float *R, float *C, float *rowcnd,
float *colcnd, float *amax, long *info)


void dgsequ_64(SuperMatrix_64 *A, double *R, double *C, double *rowcnd,
double *colcnd, double *amax, long *info)


void  cgsequ_64(SuperMatrix_64  *A,  float *R, float *C, float *rowcnd,
float *colcnd, float *amax, long *info)


void zgsequ_64(SuperMatrix_64 *A, double *R, double *C, double *rowcnd,
double *colcnd, double *amax, long *info)

Description

Oracle Solaris Studio Performance Library                            gsequ(3P)



NAME
       gsequ:  cgsequ,  dgsequ, sgsequ, zgsequ - computes row and column scal-
       ings intended to equilibrate an M-by-N sparse matrix A and  reduce  its
       condition number.


SYNOPSIS
       #include <sunperf.h>


       void  sgsequ(SuperMatrix  *A,  float *R, float *C, float *rowcnd, float
              *colcnd, float *amax, int *info)


       void dgsequ(SuperMatrix *A, double *R, double *C, double *rowcnd,  dou-
              ble *colcnd, double *amax, int *info)


       void  cgsequ(SuperMatrix  *A,  float *R, float *C, float *rowcnd, float
              *colcnd, float *amax, int *info)


       void zgsequ(SuperMatrix *A, double *R, double *C, double *rowcnd,  dou-
              ble *colcnd, double *amax, int *info)


       void  sgsequ_64(SuperMatrix_64  *A,  float *R, float *C, float *rowcnd,
              float *colcnd, float *amax, long *info)


       void dgsequ_64(SuperMatrix_64 *A, double *R, double *C, double *rowcnd,
              double *colcnd, double *amax, long *info)


       void  cgsequ_64(SuperMatrix_64  *A,  float *R, float *C, float *rowcnd,
              float *colcnd, float *amax, long *info)


       void zgsequ_64(SuperMatrix_64 *A, double *R, double *C, double *rowcnd,
              double *colcnd, double *amax, long *info)


PURPOSE
       gsequ computes the row and column scaling factors to be used by routine
       slaqgs to equilibrate an M-by-N sparse matrix A and reduce  its  condi-
       tion number.  The scaling factors are chosen such that the largest ele-
       ment in each row and column of the matrix B has absolute value 1, and B
       is computed as B(i,j)=R(i)*A(i,j)*C(j) by slaqgs.
       R(i) and C(j) are restricted to be between the smallest safe number and
       the largest safe number.  Use of these scaling factors is  not  guaran-
       teed to reduce the condition number of A but it works well in practice.


ARGUMENTS
       SuperMatrix *A (input)
              The matrix of dimension (A->nrow, A->ncol)  whose  equilibration
              factors are to be computed. The type of A can be:
              Stype = SLU_NC; Dtype = SLU_C; Mtype = SLU_GE.


       float *R (output)
              Array  of size A->nrow that contains the row scale factors for A
              if info = 0 or info > M.


       float *C (output)
              Array of size A->ncol that contains the column scale factors for
              A if info = 0.


       float *colcond (output)
              If  info  =  0  or  info  > M, rowcond contains the ratio of the
              smallest R(i) to the largest R(i).  If rowcnd >= 0.1 and amax is
              neither too large nor too small, it is not worth scaling by R.


       float *colcond (output)
              If  info = 0, colcond contains the ratio of the smallest C(i) to
              the largest C(i).  If colcnd >= 0.1, it is not worth scaling  by
              C.


       float *amax (output)
              Absolute value of largest matrix element.  If amax is very close
              to overflow or very close to underflow,  the  matrix  should  be
              scaled.


       int *info (output)

            = 0:   successful exit

            < 0:   if info = -i, the i-th argument had an illegal value

            > 0:   if info = i,  and i is

               <= A->nrow: the i-th row of A is exactly zero

               >  A->ncol: the (i-M)-th column of A is exactly zero


SEE ALSO
       SuperMatrix

       laqgs

       http://crd.lbl.gov/~xiaoye/SuperLU/

       James  W.  Demmel,  Stanley C. Eisenstat, John R. Gilbert, Xiaoye S. Li
       and Joseph W. H. Liu, "A supernodal approach to sparse  partial  pivot-
       ing",  SIAM J. Matrix Analysis and Applications, Vol. 20, Num. 3, 1999,
       pp. 720-755.



                                  7 Nov 2015                         gsequ(3P)