How to convert a PermutationGroup to a named group

We can convert any built-in named group into PermutationGroup by this code(such as AlternatingGroup[5]):

G = FiniteGroupData[{"AlternatingGroup", 5}, "PermutationGroupRepresentation"]


PermutationGroup[{Cycles[{{1, 2, 3}}], Cycles[{{1, 2, 4}}], Cycles[{{1, 2, 5}}]}]

But how to convert a PermutationGroup to a named group(If it is indeed a named group)?

• Do you know of an algorithm to do that? I am not sure that I can see how this would be done in principle, let alone in MMA. May 10, 2022 at 12:34
• @MarcoB I don't know, but Maple can identity group in this list by IdentifySmallGroup.
– yode
May 10, 2022 at 13:40
• @MarcoB Done. :)
– yode
May 18, 2022 at 8:28
• @MarcoB in gap this can be done with IdSmallGroup. Something like IdSmallGroup(Group((1,2,3),(1,2,4),(1,2,5))); May 18, 2022 at 9:15
• I don't know how to call GAP from Mathematica, apart from the obvious RunThrough. I've been hoping for GAP/Mathematica integration for many years. May 18, 2022 at 12:30

named = FiniteGroupData[GroupOrder[G]];
Select[named, FiniteGroupData[#, "PermutationGroupRepresentation"] == G &]


{{AlternatingGroup,5}}

Or not get the exactly equal but isomorphic group. Then we can use this code(The isomorphicGroupsQ is from here):

isomorphicGroupsQ[g1_, g2_] := Equal[
Length @ ResourceFunction["FindGroupIsomorphism"][g1, g2, 1],
1
]


Then the code can be:

named=FiniteGroupData[GroupOrder[G]];
Select[named,isomorphicGroupsQ[G,
FiniteGroupData[#,"PermutationGroupRepresentation"]]&]


{{AlternatingGroup,5}}