GAP checking for symmetric group In GAP one can use
StructureDescription(G) to find out that $G$ is isomorphic to (say) $S_{120}.$ ($G$ might be defined by a collection of permutation of $140$ elements). One can also ask IsSymmetricGroup(G) which is a lot faster but just returns a boolean, so if the answer is true, we don't know if it is isomorphic to $S_{120}$ or $S_{7}.$ Is there some trick to get the degree of the permutation rep? StructureDescription is much slower.
 A: As noted, StructureDescription (which is a toy routine for small examples) will perform horribly badly on this question. But there are two special functions for this task:

*

*IsNaturalSymmetricGroup takes a permutation group and checks whether it is the the symmetric group on its MovedPoints. (That is, it returns true on the group $\langle (4,5,6),(4,5)\rangle$.) The algorithm used will be much faster than even computing the order and should easily work for degrees into the 10000s.
The degree is then given by NrMovedPoints.


*IsSymmetricGroup in contrast tests whether a group (of arbitrary representation) is isomorphic to a symmetric group. If so, SymmetricDegree will
return the degree of this symmetric group. The algorithm calculates the order and then a composition series and tests (with special treatment for $n=6$) that the group has a normal subgroup of index 2 isomorphic to $A_n$ (which, apart from $A_8$ can be identified from its order once we know it is simple) on which the group induces an outer automorphism.
