PaStiX Handbook
6.4.0
|
Functions | |
EliminTree * | orderBuildEtree (const pastix_order_t *order) |
This routine build the elimination tree associated to an ordering. More... | |
static void | compute_subtree_size (pastix_int_t n, const pastix_int_t *father, const pastix_int_t *iperm, pastix_int_t *T) |
Computes the size of each subtree. More... | |
static void | compute_post_order (pastix_int_t n, const pastix_int_t *father, pastix_int_t *perm, pastix_int_t *invp, pastix_int_t *T) |
Computes the post order of the elimination tree given on entry. More... | |
static void | compute_elimination_tree (pastix_int_t n, const pastix_int_t *ia, const pastix_int_t *ja, const pastix_int_t *perm, const pastix_int_t *invp, pastix_int_t *father) |
Compute the elimination tree of a matrix A (without computing the symbolic factorization) associated with a reordering of the matrix. More... | |
static int | ordering_load (pastix_order_t *ordeptr, FILE *stream) |
Load an ordering from a file. More... | |
static int | ordering_save (const pastix_order_t *ordeptr, FILE *stream) |
Save an ordering to a file. More... | |
EliminTree* orderBuildEtree | ( | const pastix_order_t * | order | ) |
This routine build the elimination tree associated to an ordering.
[in] | order | The ordering structure. |
Definition at line 41 of file order_apply_level_order.c.
References pastix_order_s::cblknbr, eTreeInit(), eTreeSetSons(), etree_node_s::fathnum, etree_s::nodetab, pastix_int_t, etree_node_s::sonsnbr, and pastix_order_s::treetab.
Referenced by orderApplyLevelOrder(), and pastix_subtask_order().
|
inlinestatic |
Computes the size of each subtree.
[in] | n | The number of nodes. |
[in] | father | Array of size n. List of father to each node. If node i is a root then father[i] = i. |
[in] | iperm | Array of size n. The inverse permutation vector. |
[out] | T | Array of size n. On exit, size of each subtree. |
Definition at line 47 of file order_find_supernodes.c.
References pastix_int_t.
Referenced by compute_post_order(), and orderFindSupernodes().
|
inlinestatic |
Computes the post order of the elimination tree given on entry.
[in] | n | The number of nodes. |
[in] | father | Array of size n. List of father to each node. If node i is a root then father[i] = i. |
[in,out] | perm | Array of size n. The permutation vector. On exit, the postorder permutation vector. |
[in,out] | invp | Array of size n. The inverse permutation vector. On exit, the postorder inverse permutation vector. |
[in,out] | T | Workspace of size n. |
Definition at line 116 of file order_find_supernodes.c.
References compute_subtree_size(), and pastix_int_t.
Referenced by orderFindSupernodes().
|
inlinestatic |
Compute the elimination tree of a matrix A (without computing the symbolic factorization) associated with a reordering of the matrix.
[in] | n | The number of vertices in the given CSC |
[in] | ia | Array of size n+1. The column pointer tabular for the given CSC. (In C numbering) |
[in] | ja | Array of size ia[n]. The list of edges in the given CSC (In C numbering) |
[in] | perm | Array of size n. The permutation vector. |
[in] | invp | Array of size n. The inverse permutation vector. |
[in,out] | father | Array of size n. On entry, an allocated array of size n. On exit, father[i] = father of ith node on the eliminination tree. If node i is a root then father[i] = i. |
Definition at line 232 of file order_find_supernodes.c.
References pastix_int_t.
Referenced by orderFindSupernodes().
|
inlinestatic |
Load an ordering from a file.
[in,out] | ordeptr | The ordering structure to fill in. |
[in] | stream | The stream where to read the informations. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_FILE | if a problem occurs during the read. |
Definition at line 43 of file order_io.c.
References pastix_order_s::baseval, pastix_order_s::cblknbr, PASTIX_ERR_FILE, pastix_int_t, PASTIX_SUCCESS, pastixOrderAlloc(), pastixOrderExit(), pastix_order_s::peritab, pastix_order_s::permtab, pastix_order_s::rangtab, pastix_order_s::treetab, and pastix_order_s::vertnbr.
Referenced by pastixOrderLoad().
|
inlinestatic |
Save an ordering to a file.
[in,out] | ordeptr | The ordering structure to dump to disk. |
[in] | stream | The stream where to write the ordering. |
PASTIX_SUCCESS | on successful exit, |
PASTIX_ERR_BADPARAMETER | if the ordeptr structure is incorrect, |
PASTIX_ERR_FILE | if a problem occurs during the write. |
Definition at line 199 of file order_io.c.
References pastix_order_s::baseval, pastix_order_s::cblknbr, PASTIX_ERR_BADPARAMETER, PASTIX_ERR_FILE, pastix_int_t, PASTIX_SUCCESS, pastix_order_s::permtab, pastix_order_s::rangtab, pastix_order_s::treetab, and pastix_order_s::vertnbr.
Referenced by pastixOrderSave().