Skip to main content

edge_jaccard_sum

Function edge_jaccard_sum 

Source
pub fn edge_jaccard_sum(graph: &Graph) -> IgraphResult<f64>
Expand description

Compute the sum of Jaccard overlap coefficients across all edges.

Σ_{(u,v)∈E} |N(u) ∩ N(v) \ {u,v}| / |N(u) ∪ N(v) \ {u,v}|

Each edge contributes a value in [0, 1]. Returns 0.0 for the empty graph. Self-loops are skipped. Edges where the union is empty (isolated edge components) contribute 0.

§Examples

use rust_igraph::{Graph, edge_jaccard_sum};

// K_3: each edge: |{w}|/|{w}| = 1 → 3·1 = 3.0
let g = Graph::from_edges(&[(0,1),(1,2),(0,2)], false, Some(3)).unwrap();
assert!((edge_jaccard_sum(&g).unwrap() - 3.0).abs() < 1e-10);