36 const spmatrix_t *spm,
37 pastix_graph_t **graph );
50 pastix_graph_t *graph );
52 const pastix_graph_t *graph );
60 const pastix_graph_t *graphsrc );
62 const spmatrix_t *spm );
74 pastix_graph_t *outgraph,
82 pastix_graph_t *graphOut,
89 const pastix_graph_t *subgraph,
BEGIN_C_DECLS typedef int pastix_int_t
int graphUpdateComputedFields(pastix_graph_t *graph)
Update dofs, nnz, nnzexp, gnnz, n, nexp, gN of a given graph.
int graphIsolate(const pastix_graph_t *ingraph, pastix_graph_t *outgraph, pastix_int_t isolate_n, pastix_int_t *isolate_list, pastix_int_t **new_perm, pastix_int_t **new_invp)
Isolate a subset of vertices from a given graph.
void graphExit(pastix_graph_t *graph)
Free the content of the graph structure.
int graphScatterInPlace(pastix_graph_t *graph, PASTIX_Comm comm)
This routine scatter a graph from node root to the other nodes.
pastix_int_t graphIsolateConnectedComponents(const pastix_graph_t *graph, pastix_int_t *comp_vtx, pastix_int_t *comp_sze)
Isolate the connected components from the original graph.
int graphCopy(pastix_graph_t *graphdst, const pastix_graph_t *graphsrc)
This routine copy a given ordering in a new one.
void graphLoad(const pastix_data_t *pastix_data, pastix_graph_t *graph)
Load a graph from a file.
int graphSpm2Graph(pastix_graph_t *graph, const spmatrix_t *spm)
This routine build a graph thanks to an spm;.
void graphComputeProjection(const pastix_graph_t *graph, const int *vertlvl, pastix_order_t *order, const pastix_graph_t *subgraph, pastix_order_t *suborder, pastix_int_t fnode, pastix_int_t lnode, pastix_int_t sn_level, pastix_int_t distance, pastix_int_t maxdepth, pastix_int_t maxwidth, pastix_int_t *depthsze)
TODO.
int graphSymmetrize(pastix_graph_t *graph)
Symmetrize a given graph.
int graphIsolateRange(const pastix_graph_t *graphIn, const pastix_order_t *order, pastix_graph_t *graphOut, pastix_int_t fnode, pastix_int_t lnode, pastix_int_t distance)
Isolate the subgraph associated to a range of unknowns in the permuted graph.
void graphNoDiag(pastix_graph_t *graph)
This routine removes the diagonal edges from a centralized graph.
int graphPrepare(pastix_data_t *pastix_data, const spmatrix_t *spm, pastix_graph_t **graph)
This routine initializes the graph.
void graphInitEmpty(pastix_graph_t *graph, PASTIX_Comm comm)
Initialize an empty graph.
int graphComputeKway(const pastix_graph_t *graph, pastix_order_t *order, pastix_int_t *peritab, pastix_int_t *comp_nbr, pastix_int_t *comp_sze, pastix_int_t *comp_vtx, pastix_int_t comp_id, pastix_int_t nbpart)
Compute the K-way partition of a given set of unknowns.
int graphGatherInPlace(pastix_graph_t *graph)
This routine gather a distributed graph on each node in place.
void graphSave(pastix_data_t *pastix_data, const pastix_graph_t *graph)
Save a graph to file.
void graphBase(pastix_graph_t *graph, pastix_int_t baseval)
Rebase the graph to the given value.
pastix_int_t * graphGetWeights(const pastix_graph_t *graph)
Build the vertex weight array out of the dof array.
void graphSort(pastix_graph_t *graph)
This routine sortes the subarray of edges of each vertex.
Main PaStiX data structure.