SRC/mc64ad.c File Reference

Permute large entries to the main diagonal. More...

#include "superlu_ddefs.h"

Defines

#define abs(x)   ((x) >= 0 ? (x) : -(x))
#define min(a, b)   ((a) < (b)) ? (a) : (b)

Functions/Subroutines

int_t mc64id_ (int_t *icntl)
int_t mc64ad_ (int_t *job, int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *num, int_t *cperm, int_t *liw, int_t *iw, int_t *ldw, double *dw, int_t *icntl, int_t *info)
int_t mc64bd_ (int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int_t *num, int_t *jperm, int_t *pr, int_t *q, int_t *l, double *d__)
int_t mc64dd_ (int_t *i__, int_t *n, int_t *q, double *d__, int_t *l, int_t *iway)
int_t mc64ed_ (int_t *qlen, int_t *n, int_t *q, double *d__, int_t *l, int_t *iway)
int_t mc64fd_ (int_t *pos0, int_t *qlen, int_t *n, int_t *q, double *d__, int_t *l, int_t *iway)
int_t mc64rd_ (int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a)
int_t mc64sd_ (int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int_t *numx, int_t *w, int_t *len, int_t *lenl, int_t *lenh, int_t *fc, int_t *iw, int_t *iw4)
int_t mc64qd_ (int_t *ip, int_t *lenl, int_t *lenh, int_t *w, int_t *wlen, double *a, int_t *nval, double *val)
int_t mc64ud_ (int_t *id, int_t *mod, int_t *n, int_t *irn, int_t *lirn, int_t *ip, int_t *lenc, int_t *fc, int_t *iperm, int_t *num, int_t *numx, int_t *pr, int_t *arp, int_t *cv, int_t *out)
int_t mc64wd_ (int_t *n, int_t *ne, int_t *ip, int_t *irn, double *a, int_t *iperm, int_t *num, int_t *jperm, int_t *out, int_t *pr, int_t *q, int_t *l, double *u, double *d__)

Variables

static int_t c__1 = 1
static int_t c__2 = 2


Detailed Description


Define Documentation

#define abs (  )     ((x) >= 0 ? (x) : -(x))

#define min ( a,
 )     ((a) < (b)) ? (a) : (b)


Function Documentation

int_t mc64ad_ ( int_t job,
int_t n,
int_t ne,
int_t ip,
int_t irn,
double *  a,
int_t num,
int_t cperm,
int_t liw,
int_t iw,
int_t ldw,
double *  dw,
int_t icntl,
int_t 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). 
 

int_t mc64bd_ ( int_t n,
int_t ne,
int_t ip,
int_t irn,
double *  a,
int_t iperm,
int_t num,
int_t jperm,
int_t pr,
int_t q,
int_t l,
double *  d__ 
)

int_t mc64dd_ ( int_t i__,
int_t n,
int_t q,
double *  d__,
int_t l,
int_t iway 
)

int_t mc64ed_ ( int_t qlen,
int_t n,
int_t q,
double *  d__,
int_t l,
int_t iway 
)

int_t mc64fd_ ( int_t pos0,
int_t qlen,
int_t n,
int_t q,
double *  d__,
int_t l,
int_t iway 
)

int_t mc64id_ ( int_t icntl  ) 

int_t mc64qd_ ( int_t ip,
int_t lenl,
int_t lenh,
int_t w,
int_t wlen,
double *  a,
int_t nval,
double *  val 
)

int_t mc64rd_ ( int_t n,
int_t ne,
int_t ip,
int_t irn,
double *  a 
)

int_t mc64sd_ ( int_t n,
int_t ne,
int_t ip,
int_t irn,
double *  a,
int_t iperm,
int_t numx,
int_t w,
int_t len,
int_t lenl,
int_t lenh,
int_t fc,
int_t iw,
int_t iw4 
)

int_t mc64ud_ ( int_t id,
int_t mod,
int_t n,
int_t irn,
int_t lirn,
int_t ip,
int_t lenc,
int_t fc,
int_t iperm,
int_t num,
int_t numx,
int_t pr,
int_t arp,
int_t cv,
int_t out 
)

int_t mc64wd_ ( int_t n,
int_t ne,
int_t ip,
int_t irn,
double *  a,
int_t iperm,
int_t num,
int_t jperm,
int_t out,
int_t pr,
int_t q,
int_t l,
double *  u,
double *  d__ 
)


Variable Documentation

int_t c__1 = 1 [static]

int_t c__2 = 2 [static]


Generated on Tue Aug 30 14:36:33 2011 for SuperLUDistributed by  doxygen 1.5.5