7
$\begingroup$

Suppose I have a multiplication table for a group. For example,

m = {{1, 2, 3, 4}, {2, 3, 4, 1}, {3, 4, 1, 2}, {4, 1, 2, 3}}

I would like to create a group from this table, i.e., end up with the equivalent of

group = CyclicGroup[4]

As far as I can see, the only tool for creating groups is PermutationGroup[]...? So I would have to compute the permutations from the multiplication table m.

$\endgroup$
2
  • $\begingroup$ Would you be willing to add another example or two? The scope of your question is not clear to me. Does your input always reduce to a simple CyclicGroup or do you need something more robust than that? $\endgroup$
    – Mr.Wizard
    Commented Nov 12, 2014 at 13:04
  • $\begingroup$ @Mr.Wizard: Cannot add another example right now, but in general I have a (possibly large) mult table for a group, and I would like to get a Mathematica group object out of it. Could be any finite group. $\endgroup$ Commented Nov 12, 2014 at 13:53

1 Answer 1

7
$\begingroup$

The multiplication table is itself a list of permutations of a representation of the group so you can do

In[1]:= m = {{1, 2, 3, 4}, {2, 3, 4, 1}, {3, 4, 1, 2}, {4, 1, 2, 3}};

In[2]:= G = PermutationGroup[m];

Now you can compute group properties as usual:

In[3]:= GroupOrder[G]
Out[3]= 4

In this case the permutation representation obtained is exactly the same used by CyclicGroup[4], so you can check that they have the same elements:

In[4]:= G == CyclicGroup[4]
Out[4]= True

This happens because CyclicGroup[4] has order 4 and is represented with degree 4 as well.

As a counterexample, take DihedralGroup[4]. It is implemented as a permutation representation of degree 4:

In[5]:= PermutationMax[DihedralGroup[4]]
Out[5]= 4

but has order 8:

In[6]:= GroupOrder[DihedralGroup[4]]
Out[6]= 8

Now:

In[7]:= m = DihedralGroup[4] // GroupMultiplicationTable
Out[7]= {{1, 2, 3, 4, 5, 6, 7, 8}, {2, 1, 4, 3, 6, 5, 8, 7}, {3, 7, 1,5, 4, 8, 2, 6}, {4, 8, 2, 6, 3, 7, 1, 5}, {5, 6, 7, 8, 1, 2, 3, 4}, {6, 5, 8, 7, 2, 1, 4, 3}, {7, 3, 5, 1, 8, 4, 6, 2}, {8, 4, 6, 2, 7, 3, 5, 1}}

In[8]:= G = PermutationGroup[m];

This gives a permutation representation of degree 8 of the same abstract group. But the groups are different:

In[9]:= G == DihedralGroup[4]
Out[9]= False

That is, they are different representations of the same abstract group.

$\endgroup$
0

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.