Because of the the work I was doing regarding reorderings (3359232) I decided to go back and look at generating conjugacy classes using GAP.
Fraser's Home Page has moved. I updated the URL on Wikipedia. There he shows the input file and commands he typed into GAP to get the 275 conjugacy classes.
His input file, as described in his paper used a 9x9 array with the cells labeled 1 thru 81.
His input file shows cyclic notations of how he moved the cells around to described the reordering of the sudoku grid.
He never actually tell GAP that he is presenting a 9x9 array, just the moves.
As many may have done already, you can look at this input and figure out what he was trying to do.
And when completed you can look at the output of GAP to see what each class is doing.
The orderings he started with are:
- Transposition on the upper left to lower right axis.
- 90 degree rotation.
- swap columns 1 and 2.
- swap columns 2 and 3.
- swap columns 4 and 5.
- swap columns 5 and 6.
- swap columns 7 and 8.
- swap columns 8 and 9.
- swap stacks 1 and 2.
- swap stacks 2 and 3.
I don't remember when I learned that I don't need a "swap columns 1 and 3" as repeated use of 3 and 4 gives all six permutation.
Of this Item 2 is not needed as the same can be accomplished with transposition and reflection of the columns.
I have thought for a long time that items 5, 6, 7, and 8 were also not needed.
But now to what I have done.
I repeat the exercise only this time I have rows and columns, like this:
- Code: Select all
Columns
1 2 3 4 5 6 7 8 9
10
11
12
13
Rows 14
15
16
17
18
So now I can provide the following input to GAP:
- Code: Select all
sudoku_18 := Group( (1,10)(2,11)(3,12)(4,13)(5,14)(6,15)(7,16)(8,17)(9,18), (1,2), (2,3), (1,4)(2,5)(3,6), (4,7)(5,8)(6,9) );
Running this I still get 275 conjugacy classes and their counts.
The only problem is that the order of the conjugacy classes changes.
I tried adding back (4,5), (5,6), (7,8), and (8 9) and I could not get the order corrected I even added the 90 degree turn and could not get it. I can still try later.
So a 90 degree turn should be transposition composed with reflection of the columns which should be:
(1,10)(2,11)(3,12)(4,13)(5,14)(6,15)(7,16)(8,17)(9,18) ∘ (1,9)(2,8)(3,7)(4,6)
Working right to left, 1>9>18, 2>8>17, 3>7>16, 4>6>15, 5>14, 6>4>13, 7>3>12, 8>2>11, 9>1>10.
So the 90 degree rotation reordering should be:
(1,18)(2,17)(3,16)(4,15)(5,14)(6,13)(7,12)(8,11)(9,10)
Maybe I need to reverse the composition. But anyway here is an example of the conjugacy classes:
- Code: Select all
216 (10,12,11)(13,17,14,16)(15,18)
648 (1,2,3)(13,17,14,16)(15,18)
2916 (2,3)(8,9)(13,16)(14,18,15,17)
5832 (1,2)(8,9)(10,11,12)(13,16)(14,18,15,17)
11664 (2,3)(4,5,6)(8,9)(10,11,12)(13,16)(14,18,15,17)
5832 (1,3)(4,5,6)(8,9)(13,16)(14,18,15,17)
108 (11,12)(13,16)(14,17)(15,18)
648 (1,2,3)(10,11)(13,16)(14,17)(15,18)
1296 (1,2,3)(4,5,6)(10,12)(13,16)(14,17)(15,18)
864 (1,2,3)(4,5,6)(7,8,9)(11,12)(13,16)(14,17)(15,18)
216 (10,12)(13,17,14,18,15,16)
1296 (1,2,3)(11,12)(13,17,14,18,15,16)
2592 (1,2,3)(4,5,6)(10,11)(13,17,14,18,15,16)
1728 (1,2,3)(4,5,6)(7,8,9)(10,12)(13,17,14,18,15,16)
2916 (2,3)(8,9)(11,12)(13,16)(14,17)(15,18)
5832 (2,3)(4,5,6)(8,9)(10,11)(13,16)(14,17)(15,18)
5832 (2,3)(8,9)(10,12)(13,17,14,18,15,16)
11664 (2,3)(4,5,6)(8,9)(11,12)(13,17,14,18,15,16)
The classes have no inherent ordering we would have to agree on a fixed input and then reorder our analyzes.
Unless I can fix the reordering problem.
I will try to show these in rowMap and colMap formats at some point.
Can we agree this is a much easier way to express the classes?
As can be seen, it is much clearer what is being moved in each conjugacy class, Agreed?