МЕТОД ПОСТРОЕНИЯ СОВЕРШЕННЫХ МАГИЧЕСКИХ КВАДРАТОВ С ПОМОЩЬЮ
ОБОБЩЁННЫХ ЛАТИНСКИХ КВАДРАТОВ
Данная статья написана по материалам книги: Ю. В. Чебраков “Магические квадраты. Теория чисел, алгебра, комбинаторный анализ” – СПб.: СПб. гос. техн. ун-т, 1995.
Очень интересная книга! Советую прочитать всем любителям магических квадратов. Книгу мне подарил один товарищ, узнавший о моих работах в области магических квадратов на этом научном форуме: http://lib.mexmat.ru/forum/
Спасибо, Макс!
Итак, в указанной книге я нашла оригинальный метод построения совершенных магических квадратов с помощью обобщённых латинских квадратов. Надо сказать, что до сих пор я ничего не знала о латинских квадратах, хотя при изучении темы магических квадратов часто встречалась с термином “латинский квадрат”. А когда я строила пандиагональные квадраты разных порядков матричным методом, найденным мной по этой ссылке:
поняла, что матрицы для построения составляются из латинских квадратов, но не поняла, как именно составляются (статья на английском языке и потому непонятная для меня).
И вот удача! У меня в руках книга, где подробно рассказывается о латинских квадратах и приводится метод построения совершенных квадратов с помощью (обобщённых) латинских.
Сначала надо дать необходимые определения.
Определение 1.
Латинским квадратом порядка n называется квадратная таблица размером nхn, среди n2 элементов которой различными будут только n штук, и любой из n различных элементов встречается ровно один раз в каждой строке и каждом столбце таблицы.
На рис. 1 показан пример латинского квадрата шестого порядка.
0 |
1 |
2 |
3 |
4 |
5 |
4 |
2 |
5 |
0 |
3 |
1 |
3 |
0 |
4 |
1 |
5 |
2 |
1 |
3 |
0 |
5 |
2 |
4 |
5 |
4 |
3 |
2 |
1 |
0 |
2 |
5 |
1 |
4 |
0 |
3 |
Рис. 1
Определение 2.
Обобщённым латинским квадратом порядка n называется квадратная таблица размером nхn, среди n2 элементов которой различными будут только n штук, и любой из n различных элементов встречается ровно n раз внутри этой таблицы.
На рис. 2 вы видите обобщённый латинский квадрат шестого порядка:
5 |
0 |
5 |
0 |
5 |
0 |
0 |
5 |
0 |
5 |
0 |
5 |
1 |
1 |
1 |
4 |
4 |
4 |
4 |
4 |
4 |
1 |
1 |
1 |
3 |
3 |
3 |
2 |
2 |
2 |
3 |
3 |
3 |
2 |
2 |
2 |
Рис. 2
Вот этих двух понятий вполне достаточно для построения совершенных квадратов любого порядка n=4k, k=1, 2, 3…
Опишу метод построения в общем виде, то есть для любого n, а затем покажу примеры для квадратов 4-ого, 8-ого и 12-ого порядков. В книге приведён пример построения совершенного квадрата 8-ого порядка (стр. 119).
Описание метода построения:
1 этап. Строим обобщённый латинский квадрат порядка n следующим образом: каждая строка нижней половины квадрата заполняется путём последовательного чередования чисел i и n-i-1, где i – порядковый номер строки (строки нумеруются снизу вверх целыми числами от 0 до n-1); верхняя половина квадрата получается из нижней отражением относительно вертикальной оси симметрии.
2 этап. Строим второй обобщённый латинский квадрат из первого. Для этого надо повернуть построенный на первом этапе квадрат на 90 градусов по часовой стрелке. Замечу, что полученные таким образом два латинских квадрата будут ортогональными, но я не стала давать определение ортогональных латинских квадратов, потому что для понимания представленного метода построения это не имеет значения.
3 этап. Строим совершенный квадрат следующим образом. Обозначим элементы первого латинского квадрата aij, элементы второго латинского квадрата – bij, тогда каждый соответствующий элемент совершенного квадрата cij получается по формуле:
cij = n*aij + bij + 1
Замечу, что 1 в этой формуле прибавляется для того, чтобы превратить квадрат, заполненный числами от 0 до n2-1, в традиционный квадрат, заполненный числами от 1 до n2. Можно и не прибавлять 1, тогда получится совершенный квадрат, заполненный числами от 0 до n2-1.
Теперь покажу описанный метод на конкретных примерах. Начну с квадрата минимального порядка n = 4.
На рис. 3 вы видите первый обобщённый латинский квадрат, на рис. 4 – второй, а на рис. 5 – готовый совершенный квадрат четвёртого порядка.
2 |
1 |
2 |
1 |
3 |
0 |
3 |
0 |
1 |
2 |
1 |
2 |
0 |
3 |
0 |
3 |
Рис. 3
0 |
1 |
3 |
2 |
3 |
2 |
0 |
1 |
0 |
1 |
3 |
2 |
3 |
2 |
0 |
1 |
Рис. 4
9 |
6 |
12 |
7 |
16 |
3 |
13 |
2 |
5 |
10 |
8 |
11 |
4 |
15 |
1 |
14 |
Рис. 5
Далее идёт пример из книги для квадрата восьмого порядка (стр. 119). На рис. 6 изображён первый обобщённый латинский квадрат, на рис. 7 – второй, а на рис. 8 вы видите готовый совершенный квадрат восьмого порядка.
4 |
3 |
4 |
3 |
4 |
3 |
4 |
3 |
5 |
2 |
5 |
2 |
5 |
2 |
5 |
2 |
6 |
1 |
6 |
1 |
6 |
1 |
6 |
1 |
7 |
0 |
7 |
0 |
7 |
0 |
7 |
0 |
3 |
4 |
3 |
4 |
3 |
4 |
3 |
4 |
2 |
5 |
2 |
5 |
2 |
5 |
2 |
5 |
1 |
6 |
1 |
6 |
1 |
6 |
1 |
6 |
0 |
7 |
0 |
7 |
0 |
7 |
0 |
7 |
Рис. 6
0 |
1 |
2 |
3 |
7 |
6 |
5 |
4 |
7 |
6 |
5 |
4 |
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
7 |
6 |
5 |
4 |
7 |
6 |
5 |
4 |
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
7 |
6 |
5 |
4 |
7 |
6 |
5 |
4 |
0 |
1 |
2 |
3 |
0 |
1 |
2 |
3 |
7 |
6 |
5 |
4 |
7 |
6 |
5 |
4 |
0 |
1 |
2 |
3 |
Рис. 7
33 |
26 |
35 |
28 |
40 |
31 |
38 |
29 |
48 |
23 |
46 |
21 |
41 |
18 |
43 |
20 |
49 |
10 |
51 |
12 |
56 |
15 |
54 |
13 |
64 |
7 |
62 |
5 |
57 |
2 |
59 |
4 |
25 |
34 |
27 |
36 |
32 |
39 |
30 |
37 |
24 |
47 |
22 |
45 |
17 |
42 |
19 |
44 |
9 |
50 |
11 |
52 |
16 |
55 |
14 |
53 |
8 |
63 |
6 |
61 |
1 |
58 |
3 |
60 |
Рис. 8
Как известно, совершенные квадраты остаются совершенными при параллельных переносах на торе. Применим к квадрату с рис. 8 преобразование параллельного переноса на торе с целью превратить его в квадрат, начинающийся с числа 1. Полученный совершенный квадрат вы видите на рис. 9.
1 |
58 |
3 |
60 |
8 |
63 |
6 |
61 |
40 |
31 |
38 |
29 |
33 |
26 |
35 |
28 |
41 |
18 |
43 |
20 |
48 |
23 |
46 |
21 |
56 |
15 |
54 |
13 |
49 |
10 |
51 |
12 |
57 |
2 |
59 |
4 |
64 |
7 |
62 |
5 |
32 |
39 |
30 |
37 |
25 |
34 |
27 |
36 |
17 |
42 |
19 |
44 |
24 |
47 |
22 |
45 |
16 |
55 |
14 |
53 |
9 |
50 |
11 |
52 |
Рис. 9
Интересно привести для сравнения совершенные квадраты, построенные: а) методом качелей (квадрат повёрнут и отражён) (рис. 10); б) матричным методом из самого простого обратимого квадрата (рис. 11).
1 |
58 |
3 |
60 |
8 |
63 |
6 |
61 |
32 |
39 |
30 |
37 |
25 |
34 |
27 |
36 |
17 |
42 |
19 |
44 |
24 |
47 |
22 |
45 |
16 |
55 |
14 |
53 |
9 |
50 |
11 |
52 |
57 |
2 |
59 |
4 |
64 |
7 |
62 |
5 |
40 |
31 |
38 |
29 |
33 |
26 |
35 |
28 |
41 |
18 |
43 |
20 |
48 |
23 |
46 |
21 |
56 |
15 |
54 |
13 |
49 |
10 |
51 |
12 |
Рис. 10
1 |
63 |
3 |
61 |
8 |
58 |
6 |
60 |
16 |
50 |
14 |
52 |
9 |
55 |
11 |
53 |
17 |
47 |
19 |
45 |
24 |
42 |
22 |
44 |
32 |
34 |
30 |
36 |
25 |
39 |
27 |
37 |
57 |
7 |
59 |
5 |
64 |
2 |
62 |
4 |
56 |
10 |
54 |
12 |
49 |
15 |
51 |
13 |
41 |
23 |
43 |
21 |
48 |
18 |
46 |
20 |
40 |
26 |
38 |
28 |
33 |
31 |
35 |
29 |
Рис. 11
Наконец, показываю третий пример – построение совершенного квадрата 12-ого порядка. На рис. 12 вы видите первый обобщённый латинский квадрат, на рис. 13 – второй, а на рис. 14 – совершенный квадрат 12-ого порядка, построенный из этих двух латинских квадратов.
6 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
6 |
5 |
6 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
4 |
7 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
3 |
8 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
2 |
9 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
1 |
10 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
0 |
11 |
Рис. 12
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
1 |
2 |
3 |
4 |
5 |
11 |
10 |
9 |
8 |
7 |
6 |
11 |
10 |
9 |
8 |
7 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
Рис. 13
73 |
62 |
75 |
64 |
77 |
66 |
84 |
71 |
82 |
69 |
80 |
67 |
96 |
59 |
94 |
57 |
92 |
55 |
85 |
50 |
87 |
52 |
89 |
54 |
97 |
38 |
99 |
40 |
101 |
42 |
108 |
47 |
106 |
45 |
104 |
43 |
120 |
35 |
118 |
33 |
116 |
31 |
109 |
26 |
111 |
28 |
113 |
30 |
121 |
14 |
123 |
16 |
125 |
18 |
132 |
23 |
130 |
21 |
128 |
19 |
144 |
11 |
142 |
9 |
140 |
7 |
133 |
2 |
135 |
4 |
137 |
6 |
61 |
74 |
63 |
76 |
65 |
78 |
72 |
83 |
70 |
81 |
68 |
79 |
60 |
95 |
58 |
93 |
56 |
91 |
49 |
86 |
51 |
88 |
53 |
90 |
37 |
98 |
39 |
100 |
41 |
102 |
48 |
107 |
46 |
105 |
44 |
103 |
36 |
119 |
34 |
117 |
32 |
115 |
25 |
110 |
27 |
112 |
29 |
114 |
13 |
122 |
15 |
124 |
17 |
126 |
24 |
131 |
22 |
129 |
20 |
127 |
12 |
143 |
10 |
141 |
8 |
139 |
1 |
134 |
3 |
136 |
5 |
138 |
Рис. 14
Точно так же можно применить к этому квадрату преобразование параллельного переноса на торе и сделать его начинающимся с числа 1. А затем сравнить полученный квадрат с построенными раньше совершенными квадратами 12-ого порядка (методом качелей и матричным методом из самого простого обратимого квадрата).
Описанный метод восхищает своей красотой. К тому же он очень простой в исполнении. Очевидно, что алгоритм построения легко формализовать и запрограммировать, чтобы строить по программе совершенный квадрат любого порядка. Но я не буду этого делать, потому что у меня уже есть программа для построения совершенных квадратов любого порядка из обратимых квадратов. А квадраты, строящиеся описанным здесь методом, как мы убедились, получаются подобными квадратам, построенным из обратимых квадратов. Поэтому нет смысла писать вторую программу.
***
Смотрите статью о латинских квадратах в Википедии:
Читайте мою книгу “Волшебный мир магических квадратов”:
http://www.klassikpoez.narod.ru/glavnaja.htm