A faster way to obtain orbits of a partition of the verrtex set
I am given a graph G a set S⊆V(G) and a vertex v. I want to compute the representatives for the orbits of the stabilizer of v of Aut(G) whose equivalence classes contain elements of S. Currently what I am doing is the following:
def compute_valid_orbit_reps(G,S,v): ret = [] O = G.automorphism_group(return_group=False, orbits=True, partition=[ [v], [el for el in G.vertices() if el != v]]) for el in O: if S.intersection(set(el)): nb = el[0] G.add_edge(nb,v) if G.girth() >= 5: ret += [nb] G.delete_edge(nb,v) return ret
I am wondering if there is a more efficient way to do the same, perhaps using GAP directly?
Best,
Jernej