summaryrefslogtreecommitdiff
path: root/lab3/task1-generate.py
blob: 80a746e85984b6f521af186d75969db9af7226a5 (plain)
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
27
28
29
30
31
32
33
34
35
36
import numpy as np

d = {'a': 0, 'b': 1, 'c': 2, 'd': 3}
d1 = 'abcd'
n = len(d)
cayley = [
    list("abab"),
    list("abab"),
    list("abcd"),
    list("abcd"),
]

for i in range(n):
    for j in range(n):
        elem = cayley[i][j]
        cayley[i][j] = d[elem]

cayley = np.array(cayley, dtype=int)

for i in range(n):
    for j in range(n):
        for k in range(n):
            p = cayley[j, i]
            q = cayley[i, k]
            pk = cayley[p, k]
            jq = cayley[j, q]
            print("\\begin{align*}")
            print(f"    \\text{{Рассмотрим }} &i = {i}, \\, j = {j} \\\\")
            print(f"    &k = {k} \\\\")
            print(f"    &m_{{ji}} = {d1[p]}, m_{{ik}} = {d1[q]} \\\\")
            print(f"    &(\\text{{Индекс }} m_{{ji}}) = p = {p}, \\, (\\text{{индекс }} m_{{ik}}) = q = {q} \\\\")
            print(f"    &m_{{pk}} = {d1[pk]}, \\, m_{{jq}} = {d1[jq]} \\\\")
            if pk != jq:
                raise ValueError("что-то пошло не так...")
            print(f"    &\\text{{Можно заметить, что }} m_{{pk}} = m_{{jq}}")
            print("\\end{align*}")