Skip to main content

similarity_jaccard_es

Function similarity_jaccard_es 

Source
pub fn similarity_jaccard_es(
    graph: &Graph,
    eids: &[u32],
) -> IgraphResult<Vec<f64>>
Expand description

Computes Jaccard similarity coefficients for pairs of vertices connected by the given edges.

For each edge ID in eids, this retrieves the endpoint pair (u, v) and computes the Jaccard similarity between u and v.

Counterpart of igraph_similarity_jaccard_es().

ยงExamples

use rust_igraph::{Graph, similarity_jaccard_es};

let mut g = Graph::with_vertices(5);
g.add_edge(0, 2).unwrap(); // edge 0
g.add_edge(0, 3).unwrap(); // edge 1
g.add_edge(1, 2).unwrap(); // edge 2
g.add_edge(1, 3).unwrap(); // edge 3
g.add_edge(1, 4).unwrap(); // edge 4
g.add_edge(0, 1).unwrap(); // edge 5

// Jaccard of edge 5 endpoints (0,1):
// N(0)={1,2,3}, N(1)={0,2,3,4}, intersection={2,3}, union={0,1,2,3,4}
// Jaccard = 2/5 = 0.4
let sim = similarity_jaccard_es(&g, &[5]).unwrap();
assert!((sim[0] - 0.4).abs() < 1e-10);