pub fn personalized_pagerank_vs(
graph: &Graph,
reset_vids: &[u32],
damping: f64,
) -> IgraphResult<Vec<f64>>Expand description
Personalized PageRank with a vertex-set reset distribution.
Convenience wrapper around personalized_pagerank that constructs
a uniform reset vector over the specified reset_vids. Teleportation
probability is distributed equally among the given vertices.
Counterpart of igraph_personalized_pagerank_vs().
§Errors
InvalidArgumentifreset_vidsis empty.InvalidArgumentif any vertex inreset_vidsis out of range.InvalidArgumentifdampingis not in (0, 1).
§Examples
use rust_igraph::{Graph, personalized_pagerank_vs};
let mut g = Graph::with_vertices(4);
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
g.add_edge(2, 3).unwrap();
g.add_edge(3, 0).unwrap();
// Teleport only to vertices 0 and 1
let pr = personalized_pagerank_vs(&g, &[0, 1], 0.85).unwrap();
let sum: f64 = pr.iter().sum();
assert!((sum - 1.0).abs() < 1e-9);
// Vertices 0 and 1 should get more rank than 2 and 3
assert!(pr[0] + pr[1] > pr[2] + pr[3]);