Skip to main content

Module algorithms

Module algorithms 

Source
Expand description

Algorithm implementations for rust-igraph.

Phase 0 walking-skeleton scope: only traversal::bfs and io::read_edgelist. The full algorithm catalog is filled in by AWUs across Phases 1-10 (see docs/plans/MASTER_PLAN.md).

Modules§

chordality
Chordality algorithms.
cliques
Clique algorithms (ALGO-CL-001).
coloring
Graph coloring algorithms.
community
Community-detection algorithms (ALGO-CO-*). Phase 1: modularity (Newman-Girvan modularity of a partition). Phase 4: louvain multilevel community detection, leiden (Traag-Waltman-van Eck 2019), label_propagation (Raghavan-Albert-Kumara 2007 + Traag-Šubelj 2023 fast variant), fluid_communities (Parés et al. 2017), edge_betweenness_community (Girvan-Newman 2002), fast_greedy_modularity (Clauset-Newman-Moore 2004), walktrap (Pons-Latapy 2005), leading_eigenvector (Newman 2006), infomap (Rosvall-Bergstrom 2008), spinglass (Reichardt-Bornholdt 2006). Helpers: community_to_membership (cut a dendrogram at k merges), reindex_membership (densify a membership vector to 0..k-1 by first occurrence).
connectivity
Connectivity algorithms. Phase 1: ALGO-CC-001 (weak connected components), ALGO-CC-002 (strongly connected components), ALGO-CC-010 (articulation points), ALGO-CC-013 (is_biconnected), ALGO-CC-014 (bridges), ALGO-CC-020 (reachability counts), ALGO-CC-021 (reachability matrix), ALGO-CC-022 (transitive closure).
constructors
Deterministic graph constructors.
cycles
Cycle detection (ALGO-CY-001).
dominating_set
Dominating set algorithms (ALGO-VC-003).
edge_cover
Edge cover algorithms (ALGO-MA-002).
eigen
Eigenvalue and eigenvector solvers for matrices and graphs.
embedding
Spectral-embedding utilities.
epidemics
Epidemics models on graphs.
feedback_arc_set
Feedback arc set (ALGO-CY-002).
feedback_vertex_set
Feedback vertex set (ALGO-CY-003).
flow
Network-flow algorithms (ALGO-FL-*).
fundamental_cycles
Fundamental cycle basis (ALGO-CY-003).
games
Random graph generators (ALGO-GN-*).
graphlets
Graphlet decomposition (ALGO-CL-020).
hrg
Hierarchical Random Graph (HRG) models.
independent_set
Independent set algorithms (ALGO-VC-002).
io
File I/O for graphs.
isomorphism
Graph isomorphism algorithms (ALGO-ISO-*).
layout
Graph layout algorithms. Phase 7 entries: ALGO-LO-001 (simple deterministic layouts: circle, star, grid, sphere) and random layouts. ALGO-LO-002: Fruchterman-Reingold force-directed layout. ALGO-LO-003: Kamada-Kawai spring layout. ALGO-LO-004: Reingold-Tilford tree layout.
matching
Bipartite matching algorithms.
matching_lsap
Linear Sum Assignment Problem (ALGO-MA-005) — Hungarian method.
max_cut
Maximum cut algorithms (ALGO-FL-002).
minimum_cycle_basis
Minimum weight cycle basis (ALGO-CY-004).
motifs
Motif census algorithms.
nongraph
Non-graph utility algorithms (random sampling, etc.).
operators
Graph operators (ALGO-OP-*). Phase 1: simplify (remove loops and/or parallel edges, returning a new crate::Graph).
paths
Path-related algorithms. Phase 1 entries: ALGO-SP-006 (unweighted single-source distances), ALGO-CC-040 (Eulerian path / cycle existence), ALGO-CC-041 (Eulerian path/cycle construction, undirected), ALGO-SP-020 (eccentricity / radius / diameter).
properties
Graph properties — invariants and metrics. Phase 1 entries: ALGO-PR-001 (girth), ALGO-PR-002 (triangles + global/local transitivity), ALGO-PR-003 (density + mean distance), ALGO-PR-004 (reciprocity), ALGO-PR-005 (avg nearest-neighbour degree), ALGO-PR-006 (degree assortativity).
simple_cycles
Enumerate all simple cycles — Johnson’s algorithm (ALGO-CY-003).
spanning
Spanning-tree algorithms (ALGO-MST-, ALGO-RST-).
spatial
Spatial / geometric algorithms (ALGO-GEO-*).
traversal
Graph traversal. Phase 0 ships BFS; ALGO-TR-002 adds DFS; ALGO-TR-001 adds the multi-output BFS variant bfs_tree.
vertex_cover
Vertex cover algorithms (ALGO-VC-001).