[Nauty] counting orbit size for colored graph/computing transversal
J.K.R. Bausch
jkrb2 at cam.ac.uk
Sun Jan 27 08:31:10 AEDT 2019
Dear all,
I have the following question, and I'm curious whether nauty/traces can
do this.
I'm given a graph G with a large automorphism group Aut(G).
1. Given a coloring c for this graph, compute the _size_ of its orbit
under Aut(G).
2. Given a number of colors, compute all possible colorings of G, modulo
Aut(G).
Context:
1. I can obviously compute all elements of the orbit myself, but that
would be expensive.
What I want is to essentially compute |Aut(G)| /
|StabilizerGroup(Aut(G), c)|, which should be much faster and consume
less memory.
I know how to do this in e.g. Gap, or Mathematica, but it would be
faster for my purposes if I could compute it without leaving C++ - so is
this possible with nauty/traces?
2. To specify what exactly I mean: I want _one_ representative per
disjoint orbit of all possible colorings of G.
Again there exists an algorithm for doing this for any permutation
group, see e.g.
https://arxiv.org/abs/1211.6261
Can nauty/traces generate such a list of colorings directly?
Last but not least, I would be keen to know how performant it is to
compute the canonical image for a _lot_ of colorings of a particular
graph G.
Currently I simply iterate over said list and call nauty individually.
Does nauty somehow cache its calculation of the automorphism group? Or
is there a specific way to call it for this purpose?
Thank you so much for your help!
Best,
Johannes
PS: I asked a variant of this question on stackexchange, where I was
pointed to this list:
://mathoverflow.net/questions/321739/nauty-traces-orbit-sizes-for-colored-graph
More information about the Nauty
mailing list