6
$\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$
  • $\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 Nov 12 '14 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$ – Joseph O'Rourke Nov 12 '14 at 13:53
6
$\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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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