Skip to main content

edge_degree_log_product

Function edge_degree_log_product 

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

Compute the edge degree log-product sum.

EDlp(G) = Σ_{(u,v)∈E} ln(d(u) · d(v))

Equivalent to Σ ln(d(u)) + ln(d(v)). Self-loops and edges with a degree-0 endpoint are skipped. Returns 0.0 for edgeless graphs.

§Examples

use rust_igraph::{Graph, edge_degree_log_product};

// K_3: 3 edges, all (2,2) → 3·ln(4)
let g = Graph::from_edges(&[(0,1),(1,2),(0,2)], false, Some(3)).unwrap();
assert!((edge_degree_log_product(&g).unwrap() - 3.0 * 4.0_f64.ln()).abs() < 1e-10);