filtration_domination/removal/
mod.rs

1//! Algorithms to remove edges from a bifiltered graph while maintaining the topological
2//! properties of its clique complex, as described in the paper
3//! "Filtration-Domination in Bifiltered Graphs".
4//!
5//! The two main functions are:
6//! - [remove_filtration_dominated], which removes filtration-dominated edges, and
7//! - [remove_strongly_filtration_dominated], which removes strongly filtration-dominated edges.
8//! See the documentation of the functions, and the paper, for more details.
9pub use full::{remove_filtration_dominated, remove_filtration_dominated_timed};
10pub use strong::{
11    remove_strongly_filtration_dominated, remove_strongly_filtration_dominated_timed,
12};
13
14pub mod utils;
15
16mod adjacency;
17mod full;
18mod strong;
19
20/// The order in which we process the edges, and possibly remove them.
21#[derive(Debug, Clone, Copy)]
22pub enum EdgeOrder {
23    /// Go through the order in reverse lexicographic order.
24    /// This is usually the fastest.
25    ReverseLexicographic,
26    /// Go through the edges in the order they currently have in the edge list.
27    Maintain,
28}