Skip to main content

rust_igraph/algorithms/community/
mod.rs

1//! Community-detection algorithms (ALGO-CO-*). Phase 1: `modularity`
2//! (Newman-Girvan modularity of a partition). Phase 4: `louvain`
3//! multilevel community detection, `leiden` (Traag-Waltman-van Eck 2019),
4//! `label_propagation` (Raghavan-Albert-Kumara 2007 +
5//! Traag-Šubelj 2023 fast variant), `fluid_communities`
6//! (Parés et al. 2017), `edge_betweenness_community` (Girvan-Newman 2002),
7//! `fast_greedy_modularity` (Clauset-Newman-Moore 2004).
8
9// `pub(crate)` so the inner module name doesn't double-list with the
10// function re-export in rustdoc.
11pub(crate) mod edge_betweenness_community;
12pub(crate) mod edge_betweenness_community_weighted;
13pub(crate) mod fast_greedy_modularity;
14pub(crate) mod fluid_communities;
15pub(crate) mod label_propagation;
16pub(crate) mod leiden;
17pub(crate) mod louvain;
18pub(crate) mod modularity;
19
20pub use edge_betweenness_community::{EdgeBetweennessResult, edge_betweenness_community};
21pub use edge_betweenness_community_weighted::edge_betweenness_community_weighted;
22pub use fast_greedy_modularity::{
23    FastGreedyResult, fast_greedy_modularity, fast_greedy_modularity_weighted,
24};
25pub use fluid_communities::{
26    FLUID_DEFAULT_MAX_ITERATIONS, FluidOptions, FluidResult, fluid_communities,
27    fluid_communities_with_options,
28};
29pub use label_propagation::{
30    LpaOptions, LpaResult, LpaVariant, label_propagation, label_propagation_weighted,
31    label_propagation_with_options,
32};
33pub use leiden::{
34    LEIDEN_DEFAULT_BETA, LEIDEN_DEFAULT_ITERATIONS, LeidenObjective, LeidenOptions, LeidenResult,
35    leiden, leiden_weighted, leiden_with_options,
36};
37pub use louvain::{LouvainResult, louvain, louvain_weighted, louvain_with_options};
38pub use modularity::{modularity, modularity_directed, modularity_weighted};