Skip to main content

edge_degree_sorensen

Function edge_degree_sorensen 

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

Compute the Sørensen edge degree index.

Σ_{(u,v)∈E} 2·min(d(u),d(v)) / (d(u) + d(v))

Each edge contributes a value in (0, 1]. Equals m for regular graphs. Self-loops and zero-degree endpoints are skipped. Note: sorensen + diff_ratio = m (for non-loop edges with non-zero degree sum).

§Examples

use rust_igraph::{Graph, edge_degree_sorensen};

// K_3: all (2,2) → 2·2/4 = 1 per edge → 3.0
let g = Graph::from_edges(&[(0,1),(1,2),(0,2)], false, Some(3)).unwrap();
assert!((edge_degree_sorensen(&g).unwrap() - 3.0).abs() < 1e-10);