Cordinates represent cosets, each coset usually consists of many permutations.
If you move the whole cube and recolor it or you do a conjugation with a symmetry S(i) as explained two chapters ago , the coordinates usually change.
You must be careful if you want to map a coordinate by a symmetry conjugation to another coordinate. If you have two different permutations P and Q in a coset, S(i)-1*P*S(i) and S(i)-1*Q*S(i) always have to be in the same coset, else you cannot do this mapping nor can you define equivalent cosets.
This restricts the symmetries which are appliable here. It is not difficult to show that exactly those symmetries S(i) are appliable, for which the subgroup H which defines the cosets has the property S(i)-1*H*S(i) = H.
The following table shows, which symmetries are appliable to which coordinates and where this is used.
*It is possible to give another definition
for the edge-orientations, so that the full symmetry group can be used
with the edge orientation coordinate. But we prefer the usual definition
which is better suited for the two-phase algorithm.
For the FlipUDSlice coordinate, the corner permutation coordinate and the UDSliceSorted coordinate, the number of equivalence classes is given in the table.
Take for example theFlipUDSlice coordinate. The range of this coordinate x is 0..495*2048-1. But by symmetry comjugation these 1.013.760 coordinates are "reduced" to 64430 equivalence classes.
Up to 16 coordinates belong to each equivalence class - 16 and not 48 because we only use symmetries which preserve the UD-axis. For each equivalence class we store the smallest coordinate as the representant of this class in an integer array of size 64430. In general we call this array the ClassIndexToRepresentantArray.
The old integer coordinate x is then substituted by a new coordinate 16*y + i, where y is the index of the equivalence class it belongs to (0..64429) and i is the index of a symmetry (0..15) which transforms the coordinate of the representant to x. To distinguish the old and new coordinate in the text, we will call the old coodinate a raw-coordinate and the new coordinate a sym-coordinate in the following text.
This sym-coordinate has 64430*16 = 1.030.880 different values, which is more than 495*2048=1.013.760. The reason is, that for some cubes with symmetries there belong less than 16 original coordinates to one equivalence class and the replacement by the sym-coordinate is not unique because 16*y + i1 and 16*y + i2 describe the same raw-coordinate x for some i1 and i2..