pub fn generalized_petersen(n: u32, k: u32) -> IgraphResult<Graph>Expand description
Build the generalized Petersen graph G(n, k).
The result is undirected with 2n vertices and 3n edges:
outer cycle, inner circulant of shift k, and one rung per index.
§Errors
IgraphError::InvalidArgument—n < 3.IgraphError::InvalidArgument—k == 0, ork >= n / 2(equivalently2 * k >= n).IgraphError::InvalidArgument—2 * noverflowsu32(theoretical: would requiren > u32::MAX / 2).
§Examples
use rust_igraph::generalized_petersen;
// The classic Petersen graph G(5, 2).
let g = generalized_petersen(5, 2).unwrap();
assert_eq!(g.vcount(), 10);
assert_eq!(g.ecount(), 15);
assert!(!g.is_directed());