Skip to main content

inverse_sum_indeg_index

Function inverse_sum_indeg_index 

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

Compute the inverse sum indeg index.

ISI(G) = Σ_{(u,v)∈E} (d_u · d_v) / (d_u + d_v)

This equals ½ · Σ 1/(1/d_u + 1/d_v), the harmonic mean of endpoint degrees summed over edges, divided by 2.

Self-loops are skipped. Edges with d_u + d_v = 0 are skipped.

§Examples

use rust_igraph::{Graph, inverse_sum_indeg_index};

// K_3: all degrees 2
// each edge: (2·2)/(2+2) = 1, 3 edges → ISI = 3
let g = Graph::from_edges(&[(0,1),(1,2),(0,2)], false, Some(3)).unwrap();
assert!((inverse_sum_indeg_index(&g).unwrap() - 3.0).abs() < 1e-10);