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:louvainmultilevel 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 atkmerges),reindex_membership(densify a membership vector to0..k-1by 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 newcrate::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).