Skip to main content

similarity_inverse_log_weighted

Function similarity_inverse_log_weighted 

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

Compute the full inverse-log-weighted (Adamic-Adar) similarity matrix.

Returns a flat vector of length n * n in row-major order. The diagonal is 0.0 (matching igraph convention for self-pairs in inverse-log-weighted similarity).

Counterpart of igraph_similarity_inverse_log_weighted(_, _, vss_all(), IGRAPH_ALL)

ยงExamples

use rust_igraph::{Graph, similarity_inverse_log_weighted};

let mut g = Graph::with_vertices(4);
g.add_edge(0, 2).unwrap();
g.add_edge(0, 3).unwrap();
g.add_edge(1, 2).unwrap();
g.add_edge(1, 3).unwrap();
let sim = similarity_inverse_log_weighted(&g).unwrap();
// Common neighbors of (0,1): 2 (deg=2), 3 (deg=2)
// AA = 1/ln(2) + 1/ln(2) = 2/ln(2)
assert!((sim[0 * 4 + 1] - 2.0 / 2.0_f64.ln()).abs() < 1e-10);