Newer
Older
use undirected_graph::UndirectedGraph;
let g: UndirectedGraph = UndirectedGraph::wheel_graph(5);
println!("g.to_nauty() = {:?}", g.to_nauty());
println!("UndirectedGraph::from_nauty(&g.to_nauty()) = {:?}", UndirectedGraph::from_nauty(&g.to_nauty()));
let (_sign, normal_g, orbits,_) = g.normal_form(false);
println!("normal_g = {:?}", normal_g);
println!("normal_g.expanding_differential(&orbits) = {:?}", normal_g.expanding_differential(&orbits));
println!("normal_g.contractions() = {:?}", normal_g.contractions(&vec![0_usize]));
let h: UndirectedGraph = UndirectedGraph::new(7,vec![(0, 1), (0, 2), (0, 6), (1, 4), (1, 6), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5)]);
let edge_orbit_reps_h: Vec<usize> = vec![0, 2, 3, 4, 7, 9, 10];
println!("normal_h.contractions(&edge_orbits_h) = {:?}", h.contractions(&edge_orbit_reps_h));
let triangle: UndirectedGraph = UndirectedGraph::new(3, vec![(0,1), (1,2), (0,2)]);
println!("triangle.normal_form() = {:?}", triangle.normal_form(true));
println!("triangle.contractions() = {:?}", triangle.contractions(&vec![0_usize]));