1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
from libsolve import Permutation
from itertools import permutations
PRINT_LATEX = False
# (1 2 5 8 3 7 6)(4)
rhs = Permutation([1, 4, 6, 3, 7, 0, 5, 2])
# (2 8 5 7 3 6 4)(1)
lhs = Permutation([0, 7, 5, 1, 6, 3, 2, 4])
for perm in permutations(range(8), 8):
p = Permutation(perm)
id = list(range(8))
right = rhs.apply(id)
left = p.apply(lhs.apply(p.apply(id)))
if left == right:
if PRINT_LATEX:
print('\\begin{pmatrix}', end='')
print(*range(1, 9), sep=' & ', end='')
print(*map(lambda i: f'{i + 1}', p.perm),
sep=' & ',
end='\\end{pmatrix}\\\\\n')
else:
print(p.perm)
|