Endomorphism structure of symmetric group:S6

Description of automorphism group
Symmetric group:S6 is the only symmetric group on a finite set in which not every automorphism is inner. For $$n \ne 2,6$$, the symmetric group $$S_n$$ is a complete group -- see symmetric groups on finite sets are complete.

$$S_6$$ is a centerless group, so it is isomorphic to its own inner automorphism group under the conjugation action. The outer automorphism group is cyclic group:Z2, i.e., there is a single non-inner class of outer automorphisms. The automorphism group is thus of order $$720 \times 2 = 1440$$, with the inner automorphism group as a normal subgroup of order 720 and the outer automorphism group as a quotient group of order 2.

The extension splits, i.e., there exist outer automorphisms that have order 2 as automorphisms.

All outer automorphisms, being in the same equivalence class mod inner automorphisms, induce the same permutation on the set of conjugacy classes. For more on the nature of the permutation, see element structure of symmetric group:S6.

The automorphism group itself is isomorphic to automorphism group of alternating group:A6. In fact, if we identify A6 with PSL(2,9), the automorphism group can be identified with the projective semilinear group of degree two $$P\Gamma L(2,9)$$.

Automorphisms
We use the functions AutomorphismGroup and InnerAutomorphismsAutomorphismGroup to explore the automorphism structure:

gap> G := SymmetricGroup(6);; gap> A := AutomorphismGroup(G); gap> IdGroup(A); [ 1440, 5841 ] gap> B := AutomorphismGroup(AlternatingGroup(6)); gap> IdGroup(B); [ 1440, 5841 ] gap> I := InnerAutomorphismsAutomorphismGroup(A); gap> StructureDescription(I); "S6"

Endomorphisms
The endomorphism structure can be explored using the GAP function Endomorphisms, that requires the SONATA package:

gap> L := Endomorphisms(SymmetricGroup(6));; gap> Length(L); 1516 gap> M := Filtered(L, x -> x = x * x); [ [ (1,2,3,4,5,6), (1,2) ] -> [, ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,6), (1,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (2,6), (2,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,5)(2,3)(4,6), (1,5)(2,3)(4,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (2,3), (2,3) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,3)(2,6)(4,5), (1,3)(2,6)(4,5) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,6)(2,5)(3,4), (1,6)(2,5)(3,4) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,4)(2,3)(5,6), (1,4)(2,3)(5,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,4), (1,4) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (3,4), (3,4) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (4,5), (4,5) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,6)(2,4)(3,5), (1,6)(2,4)(3,5) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,5), (1,5) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,2)(3,4)(5,6), (1,2)(3,4)(5,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (5,6), (5,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,3)(2,4)(5,6), (1,3)(2,4)(5,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (3,5), (3,5) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,5)(2,6)(3,4), (1,5)(2,6)(3,4) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,6)(2,3)(4,5), (1,6)(2,3)(4,5) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,4)(2,6)(3,5), (1,4)(2,6)(3,5) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (4,6), (4,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,2)(3,6)(4,5), (1,2)(3,6)(4,5) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,2)(3,5)(4,6), (1,2)(3,5)(4,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,2), (1,2) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,3)(2,5)(4,6), (1,3)(2,5)(4,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,3), (1,3) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (2,5), (2,5) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (1,4)(2,5)(3,6), (1,4)(2,5)(3,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,5)(2,4)(3,6), (1,5)(2,4)(3,6) ],  [ (1,2,3,4,5,6), (1,2) ] -> [ (3,6), (3,6) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (2,4), (2,4) ], [ (1,2,3,4,5,6), (1,2) ] -> [ (1,2,3,4,5,6), (1,2) ] ] gap> Length(M); 32 gap> K := List(L,Kernel);; gap> FrequencySort(K); [ [ Group(), 1440 ], [ Group([ (1,2,3,4,5,6), (1,2) ]), 1 ], [ Group([ (1,5,3)(2,6,4), (1,6,5,4,3) ]), 75 ] ]