2
$\begingroup$

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)?

$\endgroup$
6
  • $\begingroup$ 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. $\endgroup$
    – MarcoB
    May 10, 2022 at 12:34
  • $\begingroup$ @MarcoB I don't know, but Maple can identity group in this list by IdentifySmallGroup. $\endgroup$
    – yode
    May 10, 2022 at 13:40
  • $\begingroup$ @MarcoB Done. :) $\endgroup$
    – yode
    May 18, 2022 at 8:28
  • $\begingroup$ @MarcoB in gap this can be done with IdSmallGroup. Something like IdSmallGroup(Group((1,2,3),(1,2,4),(1,2,5))); $\endgroup$
    – Roman
    May 18, 2022 at 9:15
  • 1
    $\begingroup$ 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. $\endgroup$
    – Roman
    May 18, 2022 at 12:30

1 Answer 1

3
$\begingroup$
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}}

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.