PaStiX Handbook  6.2.1
graph.h File Reference

Go to the source code of this file.

Graph basic subroutines

int graphPrepare (pastix_data_t *pastix_data, const spmatrix_t *spm, pastix_graph_t **graph)
 This routine initializes the graph. More...
 
void graphBase (pastix_graph_t *graph, pastix_int_t baseval)
 Rebase the graph to the given value. More...
 
void graphExit (pastix_graph_t *graph)
 Free the content of the graph structure. More...
 
void graphInitEmpty (pastix_graph_t *graph, PASTIX_Comm comm)
 Initialize an empty graph. More...
 

Graph manipulation subroutines

int graphCopy (pastix_graph_t *graphdst, const pastix_graph_t *graphsrc)
 This routine copy a given ordering in a new one. More...
 
int graphSpm2Graph (pastix_graph_t *graph, const spmatrix_t *spm)
 This routine build a graph thanks to an spm;. More...
 
void graphSort (pastix_graph_t *graph)
 This routine sortes the subarray of edges of each vertex. More...
 
void graphNoDiag (pastix_graph_t *graph)
 This routine removes the diagonal edges from a centralized graph. More...
 
int graphSymmetrize (pastix_graph_t *graph)
 Symmetrize a given graph. More...
 
int graphUpdateComputedFields (pastix_graph_t *graph)
 Update dofs, nnz, nnzexp, gnnz, n, nexp, gN of a given graph. More...
 
int graphScatterInPlace (pastix_graph_t *graph, PASTIX_Comm comm)
 This routine scatter a graph from node root to the other nodes. More...
 
int graphGatherInPlace (pastix_graph_t *graph)
 This routine gather a distributed graph on each note in place. More...
 
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. More...
 
int graphApplyPerm (const pastix_graph_t *graphA, const pastix_int_t *perm, pastix_graph_t *graphPA)
 
int graphIsolateRange (const pastix_graph_t *graph, const pastix_order_t *order, pastix_graph_t *out_graph, 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. More...
 
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)
 
pastix_int_t graphIsolateConnectedComponents (const pastix_graph_t *graph, pastix_int_t *comp_vtx, pastix_int_t *comp_sze)
 
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. More...
 
pastix_int_t * graphGetWeights (const pastix_graph_t *graph)
 Build the vertex weight array out of the dof array. More...
 

Detailed Description

PaStiX graph structure routines

Version
6.2.0
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Tony Delarue
Date
2021-01-25

Definition in file graph.h.