Let $G\le S_n$ be a permutation group and suppose that $C_1,C_2$ are two distinct conjugacy classes that have the same cardinality and is represented by a permutation of the same cycle-type. My question is whether one can (maybe by using GAP?) determine if a (non-inner) $G$-automorphism exists that maps $C_1$ to $C_2$?
Generically, you can do so in GAP with
RepresentativeAction, trying to find an element in the automorphism group that maps a representative of one conjugacy class to one in the other class. (It will return
fail if no such automorphism exists.) For example:
gap> g:=AlternatingGroup(6);; gap> au:=AutomorphismGroup(g); <group with 4 generators> gap> RepresentativeAction(au,(1,2,3),(1,2,3)(4,5,6)); [ (2,3)(4,5), (1,2,3,4)(5,6) ] -> [ (1,3)(4,5), (1,6)(2,3,4,5) ]
Not that this calculates an orbit under the automorphism group, which can be costly in terms of memory and runtime. In larger examples it could be more efficient (i.e. faster and using less memory) to represent $G\rtimes Aut(G)$ as a permutation group and do the search there using the backtrack functionality for permutation groups, and then pull back the conjugating permutation to an automorphism:
gap> sdp:=SemidirectProduct(au,g); gap> embau:=Embedding(sdp,1);; gap> embg:=Embedding(sdp,2);; gap> elms:=[(1,2,3),(1,2,3)(4,5,6)];; gap> elmsim:=List(elms,x->ImagesRepresentative(embg,x)); gap> rep:=RepresentativeAction(Image(embau),elmsim,elmsim);; gap> PreImagesRepresentative(embau,rep); [ (1,2,3,4,5), (4,5,6) ] -> [ (1,6,3,2,5), (1,3,2)(4,5,6) ]