Representation of edge permutations and move table
Submitted by Herbert Kociemba on Mon, 06/18/2007 - 15:02.
Stimulated by the last thread, where the representations of permutations and orientations was dealt I want to ask, what would be a good representation for the 12! edge permutations on the coordinate level, if the right multiplication of the edge permutation by any of the generators U,L.... should also be done with a MoveTable on the coordinate level like newcoordinate = MoveTable[oldcoodinate][generator].
This MoveTable would have 12!*18 4 Byte entries when we take the coordinate from 0..12!-1 and of course is far too big. Of course we could reduce this by 48 symmetries, but then we still would have a very large table.
I never really needed to do this multiplication, but if found an approach, which I think is quite interesting.
The permutation group S12 can be written as the product of the permutation group S7 and the Mathieu group M12 of order 95040:
S12 = S7*M12, where the representation is unique for any element of S12.
So any element of S12 can be represented by a coordinate pair (a,b), where a is in 0..5039 and b in 0..95039.
Doing a multiplication with a generator then would work as following:
for example s12*U = (s7*m12)*U = s7*(m12*U) = s7*(s7'*m12') = (s7*s7')*m12'.
So the pair (a,b) is transformed to another pair (a',b'). To do the multiplication we need two tables. A table with 95040*18 entries gives the representation for the result of the multiplication of an element of M12 with a generator and a table with 5040^2 entries which gives the multiplication of two elements of S7.
I do not see a way to reduce these coordinate pairs by symmetry though, because M12 is probably not invariant under the conjugation with the cube symmetries.
This MoveTable would have 12!*18 4 Byte entries when we take the coordinate from 0..12!-1 and of course is far too big. Of course we could reduce this by 48 symmetries, but then we still would have a very large table.
I never really needed to do this multiplication, but if found an approach, which I think is quite interesting.
The permutation group S12 can be written as the product of the permutation group S7 and the Mathieu group M12 of order 95040:
S12 = S7*M12, where the representation is unique for any element of S12.
So any element of S12 can be represented by a coordinate pair (a,b), where a is in 0..5039 and b in 0..95039.
Doing a multiplication with a generator then would work as following:
for example s12*U = (s7*m12)*U = s7*(m12*U) = s7*(s7'*m12') = (s7*s7')*m12'.
So the pair (a,b) is transformed to another pair (a',b'). To do the multiplication we need two tables. A table with 95040*18 entries gives the representation for the result of the multiplication of an element of M12 with a generator and a table with 5040^2 entries which gives the multiplication of two elements of S7.
I do not see a way to reduce these coordinate pairs by symmetry though, because M12 is probably not invariant under the conjugation with the cube symmetries.