# Algorithm to compute automorphism group of a finite group

Is there an algorithm to compute automorphism group of a finite group?

GAP has a function to do this, but while perusing their GitHub repo, I could not find an implementation. I'm struggling to find anything else related to this online. Any clues?

Note: I am trying to write my own group theory library (for fun and learning). So I need an actual algorithm.

• Do you mean "of a finite group"? or "of a group given by a finite presentation"? as such "group" the question makes little sense. – YCor Apr 9 at 17:52
• Good point - I meant of a finite group. – Jerry Halisberry Apr 9 at 17:58
• Yes, there is an algorithm: Run through all permutations of G and check for homomorphisms. Presumably you mean an efficient algorithm? – Thomas Browning Apr 9 at 18:22
• Find a generating set for $G$ of size at most $\log_2|G|$ try all possible images of the generators in the group and check which of these extends to an isomorphism. This has complexity something like $|G|^{O(\log |G|)}$, and there is no known algorithm that has been proved to have better theoretical complexity. It is an open problem whether it can be done in time polynomial in $|G|$. I could say a lot more about this, but not without going into a lot of technical and theoretical detail. Incidentally, what input for your algorithm do you envisage? How is the group to be input? – Derek Holt Apr 9 at 18:50
• @JerryHalisberry see also math.stackexchange.com/questions/947945 for finding where certain things are implemented in GAP. – Alexander Konovalov Apr 9 at 20:46