I have got a permutation group:

$(\{(e,((1, 4),(2,6),(3,5)),((1, 6),(2,5),(3,4)),((1, 5),(2,4),(3,6)),((1, 3,2),(4,6,5)),((1,2,3),(4,5,6)),((1, 4),(2,5),(3,6)),((1, 3),(4,6)),((2, 3),(5,6)),((1, 2),(4,5)),(1,6,2,4,3,5),(1,5,3,4,2,6)\},\circ)$

I want to create a group table for this and can't seem to find how to achieve it.

In my mind I can see that I need to pass each permutation to Mathematica and then get it to simply generate the group table however achieving this does not seem that simple!

I also would like the group table to match the ordering of the permutations above rather than Mathematica's default ordering, the permutations to be labelled e,a,b,c,d,f,r,s,t,u,v,w respectively and the order of composition of permutations to be column * row not Mathematica's default row * column.

  • 2
    $\begingroup$ It would help if you used Mathematica syntax. For example: {Cycles[{}], Cycles[{{1, 4}, {2, 6}, {3, 5}}], Cycles[{{1, 6}, {2, 5}, {3, 4}}], ...}. $\endgroup$ – Carl Woll Mar 5 '18 at 22:39
  • $\begingroup$ Thanks for that. I decided to put it in LaTeX rather than Mathematica syntax as I kept getting an error in Mathematica and thought it might be related to my cycles and {}'s. $\endgroup$ – Samil Horper Mar 6 '18 at 20:19

I copied the string you gave and manipulated it a bit (inserted some parentheses).

This is the GroupMultiplicationTable generated by Mathematica:

yourelements = 
  Cycles /@ 
(2,3),(5,6)),((1,2),(4,5)),((1,6,2,4,3,5)),((1,5,3,4,2,6))}", {"(" -> 
       "{", ")" -> "}", "e" -> "{}"}]];
group = PermutationGroup[yourelements];
multiplicationtable = Partition[
 TableHeadings -> {GroupElements[group], GroupElements[group]}]

Let's introduce some naming convention:

namingconventions = AssociationThread[yourelements, σ /@ Range[Length[yourelements]]];

This finds the reording for the translation of Mathematica's output to your desired ordering and applies it to multiplicationtable. Finally, we transpose the matrix in order to swap rows for columns:

perm = GroupElementPosition[group, yourelements];
σtable =
     Lookup[namingconventions, Flatten[multiplicationtable]],
     ][[perm, perm]];
TableForm[σtable, TableHeadings -> {Values[namingconventions], Values[namingconventions]}]

You should be well equipped to dive into that on your own, now. Have also a look at other Mathematica commands starting with Permutation and Group.

  • $\begingroup$ Thanks for that. I had been trying to generate the table for ages. Do you know a way that I can easily reorder the columns and rows so that row/column 12 corresponds to my 12th permutation {{1,5,3,4,2,6}} etc.? $\endgroup$ – Samil Horper Mar 6 '18 at 20:16
  • $\begingroup$ I used the GroupElementPosition command to check the ordering of the elements but they don't seem to match. My code is: GroupElementPosition[group, {Cycles[{}], Cycles[{{1,4},{2,6},{3,5}}],Cycles[{{1, 6},{2,5},{3,4}}],Cycles[{{1, 5},{2,4},{3,6}}],Cycles[{{1, 3,2},{4,6,5}}],Cycles[{{1,2,3},{4,5,6}}],Cycles[{{1, 4},{2,5},{3,6}}],Cycles[{{1, 3},{4,6}}],Cycles[{{2, 3},{5,6}}],Cycles[{{1, 2} ,{4,5}}],Cycles[{{1, 6,2,4,3,5}}],Cycles[{{1,5,3,4,2,6}}]}] . What do you mean by group[[1]] and where are you getting my prescribed ordering from? $\endgroup$ – Samil Horper Mar 7 '18 at 8:57
  • $\begingroup$ Very good point. I fixed that. $\endgroup$ – Henrik Schumacher Mar 7 '18 at 9:02
  • $\begingroup$ How does Mathematica order it's composition of elements? If I read the group table entry for 11*8 as 6 then this seems to match my expectations whereas 11*8 read as 3 doesn't. $\endgroup$ – Samil Horper Mar 7 '18 at 9:36
  • 1
    $\begingroup$ @Samil, none of these additional requirements were in your original question; please edit your question to include them. $\endgroup$ – J. M.'s ennui Mar 7 '18 at 11:38

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.