sgsequ - ings intended to equilibrate an M-by-N sparse matrix A and reduce its condition number.
#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)
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)