|
int | mc64id_dist (int *icntl) |
|
int | mc64ad_dist (int *job, int *n, int_t *ne, int_t *ip, int_t *irn, double *a, int *num, int_t *cperm, int_t *liw, int_t *iw, int_t *ldw, double *dw, int *icntl, int *info) |
|
int | mc64bd_dist (int *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int *num, int_t *jperm, int_t *pr, int_t *q, int_t *l, double *d__) |
|
int | mc64dd_dist (int_t *i__, int *n, int_t *q, double *d__, int_t *l, int_t *iway) |
|
int | mc64ed_dist (int_t *qlen, int *n, int_t *q, double *d__, int_t *l, int_t *iway) |
|
int | mc64fd_dist (int_t *pos0, int_t *qlen, int *n, int_t *q, double *d__, int_t *l, int_t *iway) |
|
int | mc64rd_dist (int *n, int_t *ne, int_t *ip, int_t *irn, double *a) |
|
int | mc64sd_dist (int *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int *numx, int_t *w, int_t *len, int_t *lenl, int_t *lenh, int_t *fc, int_t *iw, int_t *iw4) |
|
int | mc64qd_dist (int_t *ip, int_t *lenl, int_t *lenh, int_t *w, int_t *wlen, double *a, int_t *nval, double *val) |
|
int | mc64ud_dist (int_t *id, int_t *mod, int *n, int_t *irn, int_t *lirn, int_t *ip, int_t *lenc, int_t *fc, int_t *iperm, int *num, int *numx, int_t *pr, int_t *arp, int_t *cv, int_t *out) |
|
int | mc64wd_dist (int *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int *num, int_t *jperm, int_t *out, int_t *pr, int_t *q, int_t *l, double *u, double *d__) |
|
Permute large entries to the main diagonal.
int mc64ad_dist |
( |
int * |
job, |
|
|
int * |
n, |
|
|
int_t * |
ne, |
|
|
int_t * |
ip, |
|
|
int_t * |
irn, |
|
|
double * |
a, |
|
|
int * |
num, |
|
|
int_t * |
cperm, |
|
|
int_t * |
liw, |
|
|
int_t * |
iw, |
|
|
int_t * |
ldw, |
|
|
double * |
dw, |
|
|
int * |
icntl, |
|
|
int * |
info |
|
) |
| |
This subroutine attempts to find a column permutation for an NxN
sparse matrix A = {a_ij} that makes the permuted matrix have N
entries on its diagonal.
If the matrix is structurally nonsingular, the subroutine optionally
returns a column permutation that maximizes the smallest element
on the diagonal, maximizes the sum of the diagonal entries, or
maximizes the product of the diagonal entries of the permuted matrix.
For the latter option, the subroutine also finds scaling factors
that may be used to scale the matrix so that the nonzero diagonal
entries of the permuted matrix are one in absolute value and all the
off-diagonal entries are less than or equal to one in absolute value.
The natural logarithms of the scaling factors u(i), i=1..N, for the
rows and v(j), j=1..N, for the columns are returned so that the
scaled matrix B = {b_ij} has entries b_ij = a_ij * EXP(u_i + v_j).