Full list of elements in the D4 Coxeter group with generators G, R, B, Y Listed by word length, see https://oeis.org/A162207 for number of items in each length. See generating code at end. 0 I = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] num 1 1 G = [[0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R = [[0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0]] num 4 2 G G == I G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G B = [[0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G Y = [[0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0]] R G == G R R R == I R B = [[0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R Y = [[0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0]] B G = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] B R = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] B B == I B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] Y G == G Y Y R == R Y Y B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0]] Y Y == I num 9 3 G R G == R G R R == G G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G R Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0]] G B G = [[0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G B R = [[0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G B B == G G B Y = [[0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G Y G == Y G Y R == G R Y G Y B = [[0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0]] G Y Y == G R B G = [[0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R B R = [[0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R B B == R R B Y = [[0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] R Y G == G R Y R Y R == Y R Y B = [[0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0]] R Y Y == R B G G == B B G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] B G B == G B G B G Y = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] B R G == B G R B R R == B B R B == R B R B R Y = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] B Y G == B G Y B Y R == B R Y B Y B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] B Y Y == B Y B G = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0]] Y B R = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0]] Y B B == Y Y B Y == B Y B num 16 4 G R B G = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G R B R = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G R B B == G R G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G R Y G == R Y G R Y R == G Y G R Y B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0]] G R Y Y == G R G B G G == G B G B G R = [[0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G B G B == B G G B G Y = [[0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G B R G == G B G R G B R R == G B G B R B == G R B R G B R Y = [[0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G B Y G == G B G Y G B Y R == G B R Y G B Y B = [[0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G B Y Y == G B G Y B G = [[0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0]] G Y B R = [[0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0]] G Y B B == G Y G Y B Y == G B Y B R B G G == R B R B G R = [[0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R B G B == G R B G R B G Y = [[0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] R B R G == R B G R R B R R == R B R B R B == B R R B R Y = [[0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] R B Y G == R B G Y R B Y R == R B R Y R B Y B = [[0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] R B Y Y == R B R Y B G = [[0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0]] R Y B R = [[0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0]] R Y B B == R Y R Y B Y == R B Y B B G R G == B R B G R R == B G B G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] B G R Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] B G Y G == B Y B G Y R == B G R Y B G Y B = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] B G Y Y == B G B R Y G == B G R Y B R Y R == B Y B R Y B = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] B R Y Y == B R B Y B G = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] B Y B R = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] B Y B B == B Y B Y B Y == Y B Y B G G == Y B Y B G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0]] Y B G B == G Y B G Y B G Y == B Y B G Y B R G == Y B G R Y B R R == Y B Y B R B == R Y B R Y B R Y == B Y B R num 23 5 G R B G G == G R B G R B G R = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G R B G B == R B G G R B G Y = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G R B R G == G R B G R G R B R R == G R B G R B R B == G B R G R B R Y = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G R B Y G == G R B G Y G R B Y R == G R B R Y G R B Y B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G R B Y Y == G R B G R Y B G = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0]] G R Y B R = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0]] G R Y B B == G R Y G R Y B Y == G R B Y B G B G R G == G B R G B G R R == G B G G B G R B = [[0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G B G R Y = [[0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G B G Y G == G B Y G B G Y R == G B G R Y G B G Y B = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G B G Y Y == G B G G B R Y G == G B G R Y G B R Y R == G B Y G B R Y B = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G B R Y Y == G B R G B Y B G = [[0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G B Y B R = [[0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G B Y B B == G B Y G B Y B Y == G Y B G Y B G G == G Y B G Y B G R = [[0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0]] G Y B G B == Y B G G Y B G Y == G B Y B G G Y B R G == G Y B G R G Y B R R == G Y B G Y B R B == G R Y B R G Y B R Y == G B Y B R R B G R G == R B R R B G R R == R B G R B G R B = [[0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] R B G R Y = [[0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] R B G Y G == R B Y R B G Y R == R B G R Y R B G Y B = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] R B G Y Y == R B G R B R Y G == R B G R Y R B R Y R == R B Y R B R Y B = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] R B R Y Y == R B R R B Y B G = [[0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] R B Y B R = [[0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] R B Y B B == R B Y R B Y B Y == R Y B R Y B G G == R Y B R Y B G R = [[0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0]] R Y B G B == G R Y B G R Y B G Y == R B Y B G R Y B R G == R Y B G R R Y B R R == R Y B R Y B R B == Y B R R Y B R Y == R B Y B R B G R B G == R B G R B B G R B R == G B G R B B G R B B == B G R B G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0]] B G R Y G == B R Y B G R Y R == B G Y B G R Y B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] B G R Y Y == B G R B G Y B G = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] B G Y B R = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] B G Y B B == B G Y B G Y B Y == G B G Y B B R Y B G = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] B R Y B R = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] B R Y B B == B R Y B R Y B Y == R B R Y B B Y B G G == B Y B B Y B G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] B Y B G B == B G Y B G B Y B G Y == Y B G B Y B R G == B Y B G R B Y B R R == B Y B B Y B R B == B R Y B R B Y B R Y == Y B R Y B G R G == Y B R Y B G R R == Y B G Y B G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0]] Y B G R Y == B Y B G R num 28 6 G R B G R G == G R B R G R B G R R == G R B G G R B G R B = [[1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0]] G R B G R Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]] G R B G Y G == G R B Y G R B G Y R == G R B G R Y G R B G Y B = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G R B G Y Y == G R B G G R B R Y G == G R B G R Y G R B R Y R == G R B Y G R B R Y B = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G R B R Y Y == G R B R G R B Y B G = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G R B Y B R = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G R B Y B B == G R B Y G R B Y B Y == G R Y B G R Y B G G == G R Y B G R Y B G R = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0]] G R Y B G B == R Y B G G R Y B G Y == G R B Y B G G R Y B R G == G R Y B G R G R Y B R R == G R Y B G R Y B R B == G Y B R G R Y B R Y == G R B Y B R G B G R B G == G R B G R B G B G R B R == B G R B G B G R B B == G B G R G B G R B Y = [[0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0]] G B G R Y G == G B R Y G B G R Y R == G B G Y G B G R Y B = [[0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G B G R Y Y == G B G R G B G Y B G = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G B G Y B R = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G B G Y B B == G B G Y G B G Y B Y == B G Y B G B R Y B G = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G B R Y B R = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G B R Y B B == G B R Y G B R Y B Y == G R B R Y B G B Y B G G == G B Y B G B Y B G R = [[0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G B Y B G B == G B G Y B G G B Y B G Y == G Y B G G B Y B R G == G B Y B G R G B Y B R R == G B Y B G B Y B R B == G B R Y B R G B Y B R Y == G Y B R G Y B G R G == G Y B R G Y B G R R == G Y B G G Y B G R B = [[0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0]] G Y B G R Y == G B Y B G R R B G R B G == B G R B R B G R B R == G R B G R B R B G R B B == R B G R R B G R B Y = [[0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0]] R B G R Y G == R B R Y R B G R Y R == R B G Y R B G R Y B = [[0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] R B G R Y Y == R B G R R B G Y B G = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] R B G Y B R = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] R B G Y B B == R B G Y R B G Y B Y == G R B G Y B R B R Y B G = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] R B R Y B R = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] R B R Y B B == R B R Y R B R Y B Y == B R Y B R B Y B G G == R B Y B R B Y B G R = [[0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] R B Y B G B == R B G Y B G R B Y B G Y == R Y B G R B Y B R G == R B Y B G R R B Y B R R == R B Y B R B Y B R B == R B R Y B R R B Y B R Y == R Y B R R Y B G R G == R Y B R R Y B G R R == R Y B G R Y B G R B = [[0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0]] R Y B G R Y == R B Y B G R B G R B Y G == R B G R B Y B G R B Y R == G B G R B Y B G R B Y B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0]] B G R B Y Y == B G R B B G R Y B G = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] B G R Y B R = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] B G R Y B B == B G R Y B G R Y B Y == B G R B Y B B G Y B G G == B G Y B B G Y B G R = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] B G Y B G B == B Y B G B G Y B G Y == G B G Y B G B G Y B R G == B G Y B G R B G Y B R R == B G Y B B G Y B R B == B G R Y B R B G Y B R Y == G B G Y B R B R Y B G G == B R Y B B R Y B G R = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] B R Y B G B == B G R Y B G B R Y B G Y == R B R Y B G B R Y B R G == B R Y B G R B R Y B R R == B R Y B B R Y B R B == B Y B R B R Y B R Y == R B R Y B R B Y B G R G == B Y B R B Y B G R R == B Y B G B Y B G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] B Y B G R Y == Y B G R Y B G R B G == R Y B G R B Y B G R B R == G Y B G R B Y B G R B B == Y B G R Y B G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] num 30 7 G R B G R B G == G B G R B G R B G R B R == R B G R B G R B G R B B == G R B G R G R B G R B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0]] G R B G R Y G == G R B R Y G R B G R Y R == G R B G Y G R B G R Y B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0]] G R B G R Y Y == G R B G R G R B G Y B G = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G R B G Y B R = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G R B G Y B B == G R B G Y G R B G Y B Y == R B G Y B G R B R Y B G = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G R B R Y B R = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G R B R Y B B == G R B R Y G R B R Y B Y == G B R Y B G R B Y B G G == G R B Y B G R B Y B G R = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G R B Y B G B == G R B G Y B G G R B Y B G Y == G R Y B G G R B Y B R G == G R B Y B G R G R B Y B R R == G R B Y B G R B Y B R B == G R B R Y B R G R B Y B R Y == G R Y B R G R Y B G R G == G R Y B R G R Y B G R R == G R Y B G G R Y B G R B = [[1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0]] G R Y B G R Y == G R B Y B G R G B G R B Y G == G R B G R B Y G B G R B Y R == B G R B Y G B G R B Y B = [[0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0]] G B G R B Y Y == G B G R B G B G R Y B G = [[0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G B G R Y B R = [[0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G B G R Y B B == G B G R Y G B G R Y B Y == G B G R B Y B G B G Y B G G == G B G Y B G B G Y B G R = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G B G Y B G B == G B Y B G G B G Y B G Y == B G Y B G G B G Y B R G == G B G Y B G R G B G Y B R R == G B G Y B G B G Y B R B == G B G R Y B R G B G Y B R Y == B G Y B R G B R Y B G G == G B R Y B G B R Y B G R = [[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G B R Y B G B == G B G R Y B G G B R Y B G Y == G R B R Y B G G B R Y B R G == G B R Y B G R G B R Y B R R == G B R Y B G B R Y B R B == G B Y B R G B R Y B R Y == G R B R Y B R G B Y B G R G == G B Y B R G B Y B G R R == G B Y B G G B Y B G R B = [[0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G B Y B G R Y == G Y B G R G Y B G R B G == G R Y B G R B G Y B G R B R == Y B G R B G Y B G R B B == G Y B G R G Y B G R B Y = [[0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R B G R B Y G == B G R B Y R B G R B Y R == G R B G R B Y R B G R B Y B = [[0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0]] R B G R B Y Y == R B G R B R B G R Y B G = [[0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] R B G R Y B R = [[0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] R B G R Y B B == R B G R Y R B G R Y B Y == R B G R B Y B R B G Y B G G == R B G Y B R B G Y B G R = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] R B G Y B G B == R B Y B G R B G Y B G Y == G R B G Y B G R B G Y B R G == R B G Y B G R R B G Y B R R == R B G Y B R B G Y B R B == R B G R Y B R R B G Y B R Y == G R B G Y B R R B R Y B G G == R B R Y B R B R Y B G R = [[0.0, 0.0, 0.0, -1.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] R B R Y B G B == R B G R Y B G R B R Y B G Y == B R Y B G R B R Y B R G == R B R Y B G R R B R Y B R R == R B R Y B R B R Y B R B == R B Y B R R B R Y B R Y == B R Y B R R B Y B G R G == R B Y B R R B Y B G R R == R B Y B G R B Y B G R B = [[0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] R B Y B G R Y == R Y B G R R Y B G R B G == Y B G R B R Y B G R B R == G R Y B G R B R Y B G R B B == R Y B G R R Y B G R B Y = [[0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] B G R B Y B G = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0]] B G R B Y B R = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0]] B G R B Y B B == B G R B Y B G R B Y B Y == B G R Y B B G R Y B G G == B G R Y B B G R Y B G R = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] B G R Y B G B == B R Y B G B G R Y B G Y == B G R B Y B G B G R Y B R G == B G R Y B G R B G R Y B R R == B G R Y B B G R Y B R B == B G Y B R B G R Y B R Y == B G R B Y B R B G Y B G R G == B G Y B R B G Y B G R R == B G Y B G B G Y B G R B = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] B G Y B G R Y == G B G Y B G R B R Y B G R G == B R Y B R B R Y B G R R == B R Y B G B R Y B G R B = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] B R Y B G R Y == R B R Y B G R B Y B G R B G == B R Y B G R B B Y B G R B R == B G Y B G R B B Y B G R B B == B Y B G R B Y B G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] Y B G R B Y G == R Y B G R B Y Y B G R B Y R == G Y B G R B Y Y B G R B Y B == B Y B G R B Y Y B G R B Y Y == Y B G R B num 28 8 G R B G R B Y G == G B G R B Y G R B G R B Y R == R B G R B Y G R B G R B Y B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0]] G R B G R B Y Y == G R B G R B G R B G R Y B G = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0]] G R B G R Y B R = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0]] G R B G R Y B B == G R B G R Y G R B G R Y B Y == G R B G R B Y B G R B G Y B G G == G R B G Y B G R B G Y B G R = [[0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G R B G Y B G B == G R B Y B G G R B G Y B G Y == R B G Y B G G R B G Y B R G == G R B G Y B G R G R B G Y B R R == G R B G Y B G R B G Y B R B == G R B G R Y B R G R B G Y B R Y == R B G Y B R G R B R Y B G G == G R B R Y B G R B R Y B G R = [[0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G R B R Y B G B == G R B G R Y B G G R B R Y B G Y == G B R Y B G G R B R Y B R G == G R B R Y B G R G R B R Y B R R == G R B R Y B G R B R Y B R B == G R B Y B R G R B R Y B R Y == G B R Y B R G R B Y B G R G == G R B Y B R G R B Y B G R R == G R B Y B G G R B Y B G R B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G R B Y B G R Y == G R Y B G R G R Y B G R B G == G Y B G R B G R Y B G R B R == R Y B G R B G R Y B G R B B == G R Y B G R G R Y B G R B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G B G R B Y B G = [[0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0]] G B G R B Y B R = [[0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0]] G B G R B Y B B == G B G R B Y G B G R B Y B Y == G B G R Y B G B G R Y B G G == G B G R Y B G B G R Y B G R = [[0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G B G R Y B G B == G B R Y B G G B G R Y B G Y == G B G R B Y B G G B G R Y B R G == G B G R Y B G R G B G R Y B R R == G B G R Y B G B G R Y B R B == G B G Y B R G B G R Y B R Y == G B G R B Y B R G B G Y B G R G == G B G Y B R G B G Y B G R R == G B G Y B G G B G Y B G R B = [[0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G B G Y B G R Y == B G Y B G R G B R Y B G R G == G B R Y B R G B R Y B G R R == G B R Y B G G B R Y B G R B = [[0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G B R Y B G R Y == G R B R Y B G R G B Y B G R B G == G B R Y B G R B G B Y B G R B R == G B G Y B G R B G B Y B G R B B == G B Y B G R G B Y B G R B Y = [[0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G Y B G R B Y G == G R Y B G R B Y G Y B G R B Y R == Y B G R B Y G Y B G R B Y B == G B Y B G R B Y G Y B G R B Y Y == G Y B G R B R B G R B Y B G = [[0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0]] R B G R B Y B R = [[0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0]] R B G R B Y B B == R B G R B Y R B G R B Y B Y == R B G R Y B R B G R Y B G G == R B G R Y B R B G R Y B G R = [[0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] R B G R Y B G B == R B R Y B G R B G R Y B G Y == R B G R B Y B G R B G R Y B R G == R B G R Y B G R R B G R Y B R R == R B G R Y B R B G R Y B R B == R B G Y B R R B G R Y B R Y == R B G R B Y B R R B G Y B G R G == R B G Y B R R B G Y B G R R == R B G Y B G R B G Y B G R B = [[0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] R B G Y B G R Y == G R B G Y B G R R B R Y B G R G == R B R Y B R R B R Y B G R R == R B R Y B G R B R Y B G R B = [[0.0, 0.0, 0.0, -1.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] R B R Y B G R Y == B R Y B G R R B Y B G R B G == R B R Y B G R B R B Y B G R B R == R B G Y B G R B R B Y B G R B B == R B Y B G R R B Y B G R B Y = [[0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R Y B G R B Y G == Y B G R B Y R Y B G R B Y R == G R Y B G R B Y R Y B G R B Y B == R B Y B G R B Y R Y B G R B Y Y == R Y B G R B B G R B Y B G G == B G R B Y B B G R B Y B G R = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0]] B G R B Y B G B == R B G R B Y B G B G R B Y B G Y == B G R Y B G B G R B Y B R G == B G R B Y B G R B G R B Y B R R == B G R B Y B B G R B Y B R B == G B G R B Y B R B G R B Y B R Y == B G R Y B R B G R Y B G R G == B G R Y B R B G R Y B G R R == B G R Y B G B G R Y B G R B = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] B G R Y B G R Y == B G R B Y B G R B G Y B G R B G == B G R Y B G R B B G Y B G R B R == B Y B G R B B G Y B G R B B == B G Y B G R B G Y B G R B Y = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] B R Y B G R B G == B Y B G R B B R Y B G R B R == B G R Y B G R B B R Y B G R B B == B R Y B G R B R Y B G R B Y = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] B Y B G R B Y G == B R Y B G R B Y B Y B G R B Y R == B G Y B G R B Y B Y B G R B Y B == Y B G R B Y B Y B G R B Y Y == B Y B G R B num 23 9 G R B G R B Y B G = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0]] G R B G R B Y B R = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0]] G R B G R B Y B B == G R B G R B Y G R B G R B Y B Y == G R B G R Y B G R B G R Y B G G == G R B G R Y B G R B G R Y B G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0]] G R B G R Y B G B == G R B R Y B G G R B G R Y B G Y == G R B G R B Y B G G R B G R Y B R G == G R B G R Y B G R G R B G R Y B R R == G R B G R Y B G R B G R Y B R B == G R B G Y B R G R B G R Y B R Y == G R B G R B Y B R G R B G Y B G R G == G R B G Y B R G R B G Y B G R R == G R B G Y B G G R B G Y B G R B = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G R B G Y B G R Y == R B G Y B G R G R B R Y B G R G == G R B R Y B R G R B R Y B G R R == G R B R Y B G G R B R Y B G R B = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G R B R Y B G R Y == G B R Y B G R G R B Y B G R B G == G R B R Y B G R B G R B Y B G R B R == G R B G Y B G R B G R B Y B G R B B == G R B Y B G R G R B Y B G R B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G R Y B G R B Y G == G Y B G R B Y G R Y B G R B Y R == R Y B G R B Y G R Y B G R B Y B == G R B Y B G R B Y G R Y B G R B Y Y == G R Y B G R B G B G R B Y B G G == G B G R B Y B G B G R B Y B G R = [[0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0]] G B G R B Y B G B == G R B G R B Y B G G B G R B Y B G Y == G B G R Y B G G B G R B Y B R G == G B G R B Y B G R G B G R B Y B R R == G B G R B Y B G B G R B Y B R B == B G R B Y B R G B G R B Y B R Y == G B G R Y B R G B G R Y B G R G == G B G R Y B R G B G R Y B G R R == G B G R Y B G G B G R Y B G R B = [[0.0, 0.0, 0.0, 1.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G B G R Y B G R Y == G B G R B Y B G R G B G Y B G R B G == G B G R Y B G R B G B G Y B G R B R == G B Y B G R B G B G Y B G R B B == G B G Y B G R G B G Y B G R B Y = [[0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G B R Y B G R B G == G B Y B G R B G B R Y B G R B R == G B G R Y B G R B G B R Y B G R B B == G B R Y B G R G B R Y B G R B Y = [[0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G B Y B G R B Y G == G B R Y B G R B Y G B Y B G R B Y R == G B G Y B G R B Y G B Y B G R B Y B == G Y B G R B Y G B Y B G R B Y Y == G B Y B G R B R B G R B Y B G G == R B G R B Y B R B G R B Y B G R = [[0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0]] R B G R B Y B G B == B G R B Y B G R B G R B Y B G Y == R B G R Y B G R B G R B Y B R G == R B G R B Y B G R R B G R B Y B R R == R B G R B Y B R B G R B Y B R B == G R B G R B Y B R R B G R B Y B R Y == R B G R Y B R R B G R Y B G R G == R B G R Y B R R B G R Y B G R R == R B G R Y B G R B G R Y B G R B = [[0.0, 0.0, 0.0, -1.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] R B G R Y B G R Y == R B G R B Y B G R R B G Y B G R B G == R B G R Y B G R B R B G Y B G R B R == R B Y B G R B R B G Y B G R B B == R B G Y B G R R B G Y B G R B Y = [[0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R B R Y B G R B G == R B Y B G R B R B R Y B G R B R == R B G R Y B G R B R B R Y B G R B B == R B R Y B G R R B R Y B G R B Y = [[0.0, 0.0, -1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R B Y B G R B Y G == R B R Y B G R B Y R B Y B G R B Y R == R B G Y B G R B Y R B Y B G R B Y B == R Y B G R B Y R B Y B G R B Y Y == R B Y B G R B B G R B Y B G R G == B G R B Y B R B G R B Y B G R R == B G R B Y B G B G R B Y B G R B = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0]] B G R B Y B G R Y == B G R Y B G R B G R Y B G R B G == B G Y B G R B B G R Y B G R B R == B R Y B G R B B G R Y B G R B B == B G R Y B G R B G R Y B G R B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] B G Y B G R B Y G == B G R Y B G R B Y B G Y B G R B Y R == B Y B G R B Y B G Y B G R B Y B == G B G Y B G R B Y B G Y B G R B Y Y == B G Y B G R B B R Y B G R B Y G == B Y B G R B Y B R Y B G R B Y R == B G R Y B G R B Y B R Y B G R B Y B == R B R Y B G R B Y B R Y B G R B Y Y == B R Y B G R B num 16 10 G R B G R B Y B G G == G R B G R B Y B G R B G R B Y B G R = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0]] G R B G R B Y B G B == G B G R B Y B G G R B G R B Y B G Y == G R B G R Y B G G R B G R B Y B R G == G R B G R B Y B G R G R B G R B Y B R R == G R B G R B Y B G R B G R B Y B R B == R B G R B Y B R G R B G R B Y B R Y == G R B G R Y B R G R B G R Y B G R G == G R B G R Y B R G R B G R Y B G R R == G R B G R Y B G G R B G R Y B G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0]] G R B G R Y B G R Y == G R B G R B Y B G R G R B G Y B G R B G == G R B G R Y B G R B G R B G Y B G R B R == G R B Y B G R B G R B G Y B G R B B == G R B G Y B G R G R B G Y B G R B Y = [[0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G R B R Y B G R B G == G R B Y B G R B G R B R Y B G R B R == G R B G R Y B G R B G R B R Y B G R B B == G R B R Y B G R G R B R Y B G R B Y = [[0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G R B Y B G R B Y G == G R B R Y B G R B Y G R B Y B G R B Y R == G R B G Y B G R B Y G R B Y B G R B Y B == G R Y B G R B Y G R B Y B G R B Y Y == G R B Y B G R B G B G R B Y B G R G == G B G R B Y B R G B G R B Y B G R R == G B G R B Y B G G B G R B Y B G R B = [[0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0]] G B G R B Y B G R Y == G B G R Y B G R G B G R Y B G R B G == G B G Y B G R B G B G R Y B G R B R == G B R Y B G R B G B G R Y B G R B B == G B G R Y B G R G B G R Y B G R B Y = [[0.0, 0.0, 1.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G B G Y B G R B Y G == G B G R Y B G R B Y G B G Y B G R B Y R == G B Y B G R B Y G B G Y B G R B Y B == B G Y B G R B Y G B G Y B G R B Y Y == G B G Y B G R B G B R Y B G R B Y G == G B Y B G R B Y G B R Y B G R B Y R == G B G R Y B G R B Y G B R Y B G R B Y B == G R B R Y B G R B Y G B R Y B G R B Y Y == G B R Y B G R B R B G R B Y B G R G == R B G R B Y B R R B G R B Y B G R R == R B G R B Y B G R B G R B Y B G R B = [[0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0]] R B G R B Y B G R Y == R B G R Y B G R R B G R Y B G R B G == R B G Y B G R B R B G R Y B G R B R == R B R Y B G R B R B G R Y B G R B B == R B G R Y B G R R B G R Y B G R B Y = [[0.0, 0.0, -1.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R B G Y B G R B Y G == R B G R Y B G R B Y R B G Y B G R B Y R == R B Y B G R B Y R B G Y B G R B Y B == G R B G Y B G R B Y R B G Y B G R B Y Y == R B G Y B G R B R B R Y B G R B Y G == R B Y B G R B Y R B R Y B G R B Y R == R B G R Y B G R B Y R B R Y B G R B Y B == B R Y B G R B Y R B R Y B G R B Y Y == R B R Y B G R B B G R B Y B G R B G == G B G R B Y B G R B B G R B Y B G R B R == R B G R B Y B G R B B G R B Y B G R B B == B G R B Y B G R B G R B Y B G R B Y = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] B G R Y B G R B Y G == B G Y B G R B Y B G R Y B G R B Y R == B R Y B G R B Y B G R Y B G R B Y B == B G R B Y B G R B Y B G R Y B G R B Y Y == B G R Y B G R B num 9 11 G R B G R B Y B G R G == G R B G R B Y B R G R B G R B Y B G R R == G R B G R B Y B G G R B G R B Y B G R B = [[-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0], [0.0, 0.0, -1.0, 0.0]] G R B G R B Y B G R Y == G R B G R Y B G R G R B G R Y B G R B G == G R B G Y B G R B G R B G R Y B G R B R == G R B R Y B G R B G R B G R Y B G R B B == G R B G R Y B G R G R B G R Y B G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G R B G Y B G R B Y G == G R B G R Y B G R B Y G R B G Y B G R B Y R == G R B Y B G R B Y G R B G Y B G R B Y B == R B G Y B G R B Y G R B G Y B G R B Y Y == G R B G Y B G R B G R B R Y B G R B Y G == G R B Y B G R B Y G R B R Y B G R B Y R == G R B G R Y B G R B Y G R B R Y B G R B Y B == G B R Y B G R B Y G R B R Y B G R B Y Y == G R B R Y B G R B G B G R B Y B G R B G == B G R B Y B G R B G B G R B Y B G R B R == G R B G R B Y B G R B G B G R B Y B G R B B == G B G R B Y B G R G B G R B Y B G R B Y = [[0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G B G R Y B G R B Y G == G B G Y B G R B Y G B G R Y B G R B Y R == G B R Y B G R B Y G B G R Y B G R B Y B == G B G R B Y B G R B Y G B G R Y B G R B Y Y == G B G R Y B G R B R B G R B Y B G R B G == G R B G R B Y B G R B R B G R B Y B G R B R == B G R B Y B G R B R B G R B Y B G R B B == R B G R B Y B G R R B G R B Y B G R B Y = [[0.0, -1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] R B G R Y B G R B Y G == R B G Y B G R B Y R B G R Y B G R B Y R == R B R Y B G R B Y R B G R Y B G R B Y B == R B G R B Y B G R B Y R B G R Y B G R B Y Y == R B G R Y B G R B B G R B Y B G R B Y G == G B G R B Y B G R B Y B G R B Y B G R B Y R == R B G R B Y B G R B Y B G R B Y B G R B Y B == B G R Y B G R B Y B G R B Y B G R B Y Y == B G R B Y B G R B num 4 12 G R B G R B Y B G R B G == R B G R B Y B G R B G R B G R B Y B G R B R == G B G R B Y B G R B G R B G R B Y B G R B B == G R B G R B Y B G R G R B G R B Y B G R B Y = [[-1.0, 0.0, 0.0, 0.0], [0.0, -1.0, 0.0, 0.0], [0.0, 0.0, -1.0, 0.0], [0.0, 0.0, 0.0, -1.0]] G R B G R Y B G R B Y G == G R B G Y B G R B Y G R B G R Y B G R B Y R == G R B R Y B G R B Y G R B G R Y B G R B Y B == G R B G R B Y B G R B Y G R B G R Y B G R B Y Y == G R B G R Y B G R B G B G R B Y B G R B Y G == B G R B Y B G R B Y G B G R B Y B G R B Y R == G R B G R B Y B G R B Y G B G R B Y B G R B Y B == G B G R Y B G R B Y G B G R B Y B G R B Y Y == G B G R B Y B G R B R B G R B Y B G R B Y G == G R B G R B Y B G R B Y R B G R B Y B G R B Y R == B G R B Y B G R B Y R B G R B Y B G R B Y B == R B G R Y B G R B Y R B G R B Y B G R B Y Y == R B G R B Y B G R B num 1 13 G R B G R B Y B G R B Y G == R B G R B Y B G R B Y G R B G R B Y B G R B Y R == G B G R B Y B G R B Y G R B G R B Y B G R B Y B == G R B G R Y B G R B Y G R B G R B Y B G R B Y Y == G R B G R B Y B G R B Total number of elements 192 package notforrelease; import java.util.ArrayList; import java.util.List; import com.singularsys.extensions.matrix.MatrixComponents; import com.singularsys.extensions.matrix.MatrixFactoryI; import com.singularsys.extensions.matrix.MatrixFieldI; import com.singularsys.extensions.matrix.MatrixI; import com.singularsys.extensions.matrix.doublemat.DoubleMatrixComponents; import com.singularsys.jep.EvaluationException; import com.singularsys.jep.Jep; import com.singularsys.jep.ParseException; public class CoxeterGroup { static class LabeledMat { String label; MatrixI mat; public LabeledMat(String label, MatrixI mat) { super(); this.label = label; this.mat = mat; } @Override public String toString() { return label + " = " + mat; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((mat == null) ? 0 : mat.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; LabeledMat other = (LabeledMat) obj; if (mat == null) { if (other.mat != null) return false; } else if (!mat.equals(other.mat)) return false; return true; } } LabeledMat baseMat[] = new LabeledMat[4]; List knownMats = new ArrayList(); MatrixComponents dmc = new DoubleMatrixComponents(); MatrixFactoryI mfac = dmc.getMatrixFactory(); MatrixFieldI mfield = dmc.getMatrixField(); Jep jep = new Jep(dmc); private List depth0; public CoxeterGroup() { try { MatrixI I = (MatrixI) jep.evaluate(jep.parse( "[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]")); MatrixI G = (MatrixI) jep.evaluate(jep.parse( "[[0,1,0,0],[1,0,0,0],[0,0,1,0],[0,0,0,1]]")); MatrixI R = (MatrixI) jep.evaluate(jep.parse( "[[0,-1,0,0],[-1,0,0,0],[0,0,1,0],[0,0,0,1]]")); MatrixI B = (MatrixI) jep.evaluate(jep.parse( "[[1,0,0,0],[0,0,1,0],[0,1,0,0],[0,0,0,1]]")); MatrixI Y = (MatrixI) jep.evaluate(jep.parse( "[[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]]")); baseMat[0] = new LabeledMat("G",G); baseMat[1] = new LabeledMat("R",R); baseMat[2] = new LabeledMat("B",B); baseMat[3] = new LabeledMat("Y",Y); depth0 = new ArrayList(); final LabeledMat lI = new LabeledMat("",I); depth0.add(lI); knownMats.add(lI); } catch (EvaluationException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } } public void recurse(int level,List depthB) throws EvaluationException { System.out.println(level); List depthN = new ArrayList(); for(LabeledMat mat:depthB) { for(int i=0;i<4;++i) { MatrixI prod = (MatrixI) mfield.mul(mat.mat, baseMat[i].mat); final String label = mat.label + " " + baseMat[i].label; LabeledMat lmat = new LabeledMat(label,prod); if(knownMats.contains(lmat)) { for(LabeledMat lm2:knownMats) { if(prod.equals(lm2.mat)) { final String label2 = lm2.label; System.out.println(label+" == "+(label2.length()==0?"I":label2)); } } } else { depthN.add(lmat); knownMats.add(lmat); System.out.println(lmat); } } } if(depthN.isEmpty()) return; System.out.println("num "+depthN.size()); recurse(level+1,depthN); } public static void main(String[] args) { CoxeterGroup cg = new CoxeterGroup(); System.out.println(0); System.out.println(" I = "+cg.depth0.get(0).mat); try { cg.recurse(1, cg.depth0); System.out.println("Total number of elements "+cg.knownMats.size()); } catch (EvaluationException e) { e.printStackTrace(); } } }