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$ 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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.