# Group table for permutation group

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.

• 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}}], ...}. Mar 5, 2018 at 22:39
• 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. Mar 6, 2018 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 /@
ToExpression[
StringReplace[
"{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))}", {"(" ->
"{", ")" -> "}", "e" -> "{}"}]];
group = PermutationGroup[yourelements];
multiplicationtable = Partition[
GroupElements[group][[Flatten[GroupMultiplicationTable[group]]]],
Length[GroupElements[group]]
];
TableForm[multiplicationtable,


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 =
Transpose@Partition[
Lookup[namingconventions, Flatten[multiplicationtable]],
Length[GroupElements[group]]
][[perm, perm]];

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.
• 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? Mar 7, 2018 at 8:57