I'm given a graph $G$ (<1000 vertices, large automorphism group), and a large number (~10^6-10^10) of different colorings of said graph. I have two tasks.

- Calculate the canonical coloring. I can use nauty, traces, or bliss for this.
**Question: what's the most optimal way of doing this to avoid re-calculating automorphism groups over and over, e.g. in nauty/traces?** - I need to now calculate the
*size of the orbit*for each canonical coloring.**Question: I could not figure out whether that's possible in nauty or traces. Is it?**

Re. 1: I currently just iterate over the list of colorings and call nauty separately; that seems inefficient, but I'm not familiar with the implementation details to tell whether there's a faster way. I'd be grateful for any pointers.

Re. 2: In principle I can of course calculate the full orbit and count the elements. That's naturally slow. A faster way would be to calculate $ord(G)/ord(\text{stabilizer subgroup of given coloring})$. Can nauty or traces do this, or in an even faster way somehow?

Thanks a lot! - J