СОВЕРШЕННЫЕ МАГИЧЕСКИЕ КВАДРАТЫ

 

Часть III

 

В конце второй части настоящей статьи я обещала показать ещё одно свойство совершенных квадратов. Но пока отложу это на некоторое время.

В статье, с которой я работаю (ссылку см. в первой части этой статьи), очень интересно рассказано о методе построения совершенных квадратов из обратимых квадратов. Здесь и будет показан данный метод.

Сначала расскажу немного про обратимые квадраты. Это не магические квадраты. Самый простой обратимый квадрат порядка n=4k, k=1, 2, 3… строится очень просто: в матрицу nxn записываются числа от 1 до n2 по порядку, начиная с левой верхней ячейки. Например, самый простой обратимый квадрат четвёртого порядка выглядит так (рис. 1):

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

 

Рис. 1

 

Я не буду здесь дублировать определение обратимых квадратов из статьи, желающие посмотрят это определение сами. В статье сказано, что для квадратов четвёртого порядка существует три принципиально различных (уникальных) обратимых квадрата. Один из них вы видите на рис. 1. В уникальном обратимом квадрате числа 1 и 2 стоят в верхней строке, и выполняется условие: в каждой строке при чтении слева направо и в каждом столбце при чтении сверху вниз числа следуют в порядке возрастания. Показываю на рис. 2 и рис. 3 два других уникальных обратимых квадрата четвёртого порядка.

 

1

2

5

6

3

4

7

8

9

10

13

14

11

12

15

16

 

Рис. 2

 

 

1

2

9

10

3

4

11

12

5

6

13

14

7

8

15

16

 

Рис. 3

 

Каждый уникальный обратимый квадрат четвёртого порядка порождает группу из 16 обратимых квадратов (считая его самого). Все 15 квадратов группы получаются из уникального квадрата различными перестановками строк и/или столбцов. В статье приведены 16 вариантов для первой группы обратимых квадратов четвёртого порядка.

 

Далее следует самое интересное. Установлено, что между обратимыми и совершенными квадратами существует взаимнооднозначное соответствие. Это означает, что каждый обратимый квадрат несложными преобразованиями можно превратить в совершенный и обратно. Другими словами: каждому обратимому квадрату соответствует один и только один совершенный квадрат (и наоборот). В статье показано, как превратить обратимый квадрат четвёртого порядка в совершенный квадрат. Преобразования действительно очень простые. Превращение выполняется в три этапа. Покажу здесь все три этапа подробно. В качестве исходного квадрата взят обратимый квадрат с рис. 1.

 

Первый этап: переставляются числа в правой половине всех 4 строк. Полученный в результате этого преобразования квадрат изображён на рис. 4.

 

1

2

4

3

5

6

8

7

9

10

12

11

13

14

16

15

 

Рис. 4

 

Это преобразование равносильно перестановке двух последних столбцов в исходном квадрате с рис. 1.

 

Второй этап: переставляются числа в нижней половине всех 4 столбцов. Получается квадрат, изображённый на рис. 5.

 

1

2

4

3

5

6

8

7

13

14

16

15

9

10

12

11

 

Рис. 5

 

Это преобразование равносильно перестановке двух последних строк в квадрате с рис. 4.

 

Третий этап: в квадрате с рис. 5 надо выполнить преобразование, которое в статье обозначено так:

 

 

Мне непонятно, что означает данное преобразование, поэтому расскажу, как именно я преобразовала квадрат с рис. 5, чтобы получить из него совершенный квадрат.  Поскольку конечный результат я видела в статье (готовый совершенный квадрат), то мне легко было установить, какие преобразования выполнены. Итак, на рис. 6 вы видите те 4 числа, которые остаются в квадрате с рис. 5 на месте.

 

1

 

4

 

 

 

 

 

13

 

16

 

 

 

 

 

 

Рис. 6

 

Далее на рис. 7 вы видите готовый совершенный квадрат, в котором закрашены одинаковым цветом переставленные числа.

 

1

15

4

14

8

10

5

11

13

3

16

2

12

6

9

7

 

Рис. 7

 

Возьмите теперь второй уникальный обратимый квадрат, например, с рис. 2, и превратите его в совершенный квадрат точно таким же способом. Думаю, это не вызовет у вас никаких затруднений.

 

В статье сказано, что для квадратов восьмого порядка существует 10 принципиально различных (уникальных) обратимых квадратов. Но эти квадраты не приведены и процесс превращения обратимого квадрата в совершенный квадрат тоже не показан. Я решила выполнить это превращение по аналогии с квадратом четвёртого порядка. Первые два этапа выполняются совершенно аналогично. В качестве исходного квадрата я беру самый простой обратимый квадрат восьмого порядка, вы видите его на рис. 8.

 

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

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

 

Рис. 8

 

В результате выполнения первого этапа преобразований (перестановка столбцов в правой половине квадрата) получаю квадрат, изображённый на рис. 9.

 

1

2

3

4

8

7

6

5

9

10

11

12

16

15

14

13

17

18

19

20

24

23

22

21

25

26

27

28

32

31

30

29

33

34

35

36

40

39

38

37

41

42

43

44

48

47

46

45

49

50

51

52

56

55

54

53

57

58

59

60

64

63

62

61

 

Рис. 9

 

В результате второго этапа преобразований (перестановка строк в нижней половине квадрата) получаю следующий квадрат (рис. 10):

 

1

2

3

4

8

7

6

5

9

10

11

12

16

15

14

13

17

18

19

20

24

23

22

21

25

26

27

28

32

31

30

29

57

58

59

60

64

63

62

61

49

50

51

52

56

55

54

53

41

42

43

44

48

47

46

45

33

34

35

36

40

39

38

37

 

Рис. 10

 

Теперь третий этап – самый сложный. В статье дана общая формула преобразования третьего этапа для квадрата любого порядка n=4m:

 

 

где k=n/2. Но, как я уже сказала, мне непонятно, как работает это преобразование, поэтому третий этап я выполняю самостоятельно, не обращая внимания на непонятную формулу преобразования. На рис. 11 вы видите числа, которые остаются в квадрате с рис. 10 на месте.

 

1

 

3

 

8

 

6

 

 

 

 

 

 

 

 

 

17

 

19

 

24

 

22

 

 

 

 

 

 

 

 

 

57

 

59

 

64

 

62

 

 

 

 

 

 

 

 

 

41

 

43

 

48

 

46

 

 

 

 

 

 

 

 

 

 

Рис. 11

 

На рис. 12 вы видите готовый совершенный квадрат, в котором закрашены одинаковым цветом переставленные числа.

 

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

 

Рис. 12

 

Покажу на рис. 13 этот совершенный квадрат с выделенной начальной цепочкой:

 

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

 

Рис. 13

 

А теперь сравните этот совершенный квадрат с тем совершенным квадратом, который я построила методом качелей в предыдущей части статьи. Вы видите этот квадрат на рис. 14.

 

1

32

17

16

57

40

41

56

58

39

42

55

2

31

18

15

3

30

19

14

59

38

43

54

60

37

44

53

4

29

20

13

8

25

24

9

64

33

48

49

63

34

47

50

7

26

23

10

6

27

22

11

62

35

46

51

61

36

45

52

5

28

21

12

 

Рис. 14

 

Повернём этот квадрат на 90 градусов по часовой стрелке и затем отразим относительно вертикальной оси симметрии. Получим такой совершенный квадрат (рис. 15):

 

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

 

Рис. 15

 

Теперь совершенно очевидно, что этот квадрат получается из квадрата с рис. 13 перестановкой строк и столбцов. Вот так замечательно сработал мой метод качелей!

А интересно ответить на вопрос: из какого обратимого квадрата можно получить совершенный квадрат, который был найден мной в Интернете. Покажу его на рис. 16 (в несколько преобразованном виде):

 

1

16

17

32

53

60

37

44

63

50

47

34

11

6

27

22

3

14

19

30

55

58

39

42

61

52

45

36

9

8

25

24

12

5

28

21

64

49

48

33

54

59

38

43

2

15

18

31

10

7

26

23

62

51

46

35

56

57

40

41

4

13

20

29

 

                                                                                         Рис. 16

 

Другими словами задачу можно сформулировать следующим образом: найти преобразования, превращающие данный квадрат в обратимый.

 

В статье говорится, что каждый уникальный обратимый квадрат восьмого порядка образует группу из 36864 обратимых квадратов (считая и его самого). Таким образом, всего из 10 уникальных обратимых квадратов восьмого порядка получается 368640 обратимых квадратов. И каждый из этих обратимых квадратов можно превратить в совершенный квадрат. Вот сколько существует совершенных квадратов восьмого порядка! Но, наверное, здесь посчитаны все квадраты, получающиеся друг из друга параллельным переносом на торе, если провести аналогию с квадратами четвёртого порядка. Тогда без учёта параллельных переносов на торе совершенных квадратов восьмого порядка будет: 368640/64=5760.

В статье приводится расчёт количества обратимых (и совершенных) квадратов и для других порядков.

 

Для тех, кто заинтересовался этим уникальным методом построения совершенных квадратов любого порядка n=4k, k=1, 2, 3… из обратимых квадратов предлагаю решить две задачи.

 

Задача 1. Составьте ещё 9 уникальных обратимых квадратов восьмого порядка и превратите каждый из них в совершенный квадрат.

 

Задача 2. Превратите самый простой обратимый квадрат 12-ого порядка в совершенный квадрат.

 

Как вы уже знаете, самый простой обратимый квадрат 12-ого порядка надо составить так: заполнить матрицу 12х12 числами от 1 до 144, записывая их по порядку построчно, начиная с левой верхней ячейки квадрата.

Чтобы превратить этот квадрат в совершенный, надо выполнить три этапа. Первые два этапа очень просты (смотрите превращение квадратов четвёртого и восьмого порядка). Третий этап посложнее: какие-то числа надо оставить на месте, а какие-то переставить определённым образом. Попробуйте! И вы получите совершенный квадрат 12-ого порядка. Я ещё не решала эту задачу.

Кстати, этот квадрат тоже должен получаться из совершенного квадрата, построенного мной методом качелей, перестановкой строк и столбцов (предварительно мой квадрат надо повернуть на 90 градусов и отразить).

А уникальных обратимых квадратов 12-ого порядка (как говорится в статье) 42. Можно предложить и задачу составления всех уникальных обратимых квадратов 12-ого порядка.

Ну, а дальше можно заняться и квадратами 16-ого порядка.

А ещё интереснее запрограммировать процедуру превращения обратимого квадрата в совершенный. В качестве исходного, конечно, удобнее взять самый простой обратимый квадрат (заполненный числами по порядку). Составить программу для какого-то конкретного порядка, скажем, восьмого, очень просто. Сложнее составить программу для любого порядка n=4k.

 

***

 

Напомню всё-таки ссылку на статью, по материалам которой написана данная страница:

 

http://www.geocities.com/~harveyh/most-perfect.htm

 

Если что-то будет непонятно, загляните в эту статью. Правда, статья на английском языке.

 

***

 

 

31 мая 2008 г.

г. Саратов

 

 

1 июня 2008 г.

 

Решила показать процесс превращения обратимого квадрата в совершенный с помощью матрицы преобразования, которая объединяет в себе все три этапа. Начну с квадратов четвёртого порядка. Пусть исходный обратимый квадрат имеет матрицу A(aij). Тогда совершенный квадрат, полученный из этого обратимого квадрата,  будет иметь матрицу B=f(A), которую вы видите на рис. 17.

 

a11

a43

a14

a42

a24

a32

a21

a33

a41

a13

a44

a12

a34

a22

a31

a23

 

Рис. 17

 

Имея эту матрицу, вы легко можете превратить любой обратимый квадрат в совершенный. Приведу пример. В качестве исходного возьму обратимый квадрат с рис. 2. Применив к этому квадрату преобразование, описанное матрицей с рис. 17, получаю такой совершенный квадрат (рис. 18):

 

1

15

6

12

8

10

3

13

11

5

16

2

14

4

9

7

 

Рис. 18

 

Понятно, что матричное преобразование очень легко запрограммировать. Написав программу для этого преобразования, вы с её помощью можете получить совершенный квадрат из любого обратимого квадрата.

А теперь покажу матрицу обратного преобразования, то есть преобразования, которое превращает совершенный квадрат в обратимый. Пусть совершенный квадрат имеет матрицу B(bij), тогда обратимый квадрат, соответствующий данному совершенному квадрату, будет иметь матрицу C=g(B), которую вы видите на рис.  19.

 

b11

b34

b32

b13

b23

b42

b44

b21

b43

b22

b24

b41

b31

b14

b12

b33

 

Рис. 19

 

Приведу пример применения этого преобразования. Возьму в качестве исходного следующий совершенный квадрат (рис. 20):

 

1

8

13

12

14

11

2

7

4

5

16

9

15

10

3

6

 

Рис. 20

 

Этот квадрат я построила методом качелей. Применяю к нему преобразование, описанное матрицей с рис. 19, и получаю соответствующий данному квадрату обратимый квадрат, который вы видите на рис. 21.

 

1

9

5

13

2

10

6

14

3

11

7

15

4

12

8

16

 

Рис. 21

 

Понятно, что если применить к обратимому квадрату с рис. 21 преобразование, описанное матрицей с рис. 17, то получится совершенный квадрат с рис. 20. Попробуйте!

 

Перехожу к квадратам восьмого порядка. Пусть обратимый квадрат восьмого порядка имеет матрицу A(aij). Тогда полученный из него совершенный квадрат будет иметь матрицу B=f(A), которая изображена на рис. 22.

 

a11

a87

a13

a85

a18

a82

a16

a84

a28

a72

a26

a74

a21

a77

a23

a75

a31

a67

a33

a65

a38

a62

a36

a64

a48

a52

a46

a54

a41

a57

a43

a55

a81

a17

a83

a15

a88

a12

a86

a14

a78

a22

a76

a24

a71

a27

a73

a25

a61

a37

a63

a35

a68

a32

a66

a34

a58

a42

a56

a44

a51

a47

a53

a45

 

Рис. 22

 

Предлагаю читателям проверить это матричное преобразование для примера превращения обратимого квадрата в совершенный, который был дан выше.

Показываю матрицу обратного преобразования. Пусть исходный совершенный квадрат имеет матрицу B(bij). Тогда соответствующий этому квадрату обратимый квадрат будет иметь матрицу C=g(B), которую вы видите на рис. 23.

 

b11

b56

b13

b58

b54

b17

b52

b15

b25

b62

b27

b64

b68

b23

b66

b21

b31

b76

b33

b78

b74

b37

b72

b35

b45

b82

b47

b84

b88

b43

b86

b41

b85

b42

b87

b44

b48

b83

b46

b81

b71

b36

b73

b38

b34

b77

b32

b75

b65

b22

b67

b24

b28

b63

b26

b61

b51

b16

b53

b18

b14

b57

b12

b55

 

Рис. 23

 

Теперь можно ответить на вопрос, который был задан выше о совершенном квадрате, найденном мной в Интернете (см. рис. 16). Применяю к этому квадрату преобразование, описанное матрицей с рис. 23, и получаю соответствующий ему обратимый квадрат. Его вы видите на рис. 24.

 

1

49

17

33

21

37

5

53

11

59

27

43

31

47

15

63

3

51

19

35

23

39

7

55

9

57

25

41

29

45

13

61

4

52

20

36

24

40

8

56

10

58

26

42

30

46

14

62

2

50

18

34

22

38

6

54

12

60

28

44

32

48

16

64

 

                                                                                         Рис. 24

 

Этот обратимый квадрат входит в группу, порождаемую вторым уникальным квадратом восьмого порядка (первый уникальный квадрат восьмого порядка изображён на рис. 8). Интересно, что сам уникальный квадрат я получила, применив обратное преобразование к тому же самому квадрату из Интернета, но не преобразованному, а прямо в том виде, как он дан в статье, в которой я его нашла (ссылку см. в первой части настоящей статьи, там же приведён и сам квадрат). На рис. 25 вы видите этот уникальный обратимый квадрат.

 

1

2

3

4

9

10

11

12

5

6

7

8

13

14

15

16

17

18

19

20

25

26

27

28

21

22

23

24

29

30

31

32

33

34

35

36

41

42

43

44

37

38

39

40

45

46

47

48

49

50

51

52

57

58

59

60

53

54

55

56

61

62

63

64

 

                                                                                         Рис. 25

 

Теперь осталось составить восемь уникальных обратимых квадратов восьмого порядка.

 

Приведу ещё один пример применения данного преобразования. Превращу в обратимый совершенный квадрат, изображённый на рис. 15. Соответствующий этому квадрату обратимый квадрат вы видите на рис. 26.

 

1

7

3

5

4

6

2

8

25

31

27

29

28

30

26

32

17

23

19

21

20

22

18

24

9

15

11

13

12

14

10

16

49

55

51

53

52

54

50

56

41

47

43

45

44

46

42

48

33

39

35

37

36

38

34

40

57

63

59

61

60

62

58

64

 

                                                                                         Рис. 26

 

Очевидно, что этот обратимый квадрат связан с самым простым обратимым квадратом восьмого порядка (см. рис. 8) точно такой же перестановкой строк и столбцов, какой связаны полученные из этих обратимых квадратов совершенные квадраты (см. рис. 13 и рис. 15).

Если вы примените к обратимому квадрату с рис. 26 преобразование, описанное матрицей с рис. 22, то получите совершенный квадрат, изображённый на рис. 15. Попробуйте!

 

***

 

2 июня 2008 г.

 

Внимательно посмотрев на матрицу преобразования, изображённую на рис. 22, я увидела строгую закономерность в индексации элементов матрицы. И поэтому составить матрицу преобразования для квадратов 12-ого порядка не составило большого труда. На рис. 27 вы видите матрицу преобразования, с помощью которого можно превратить любой обратимый квадрат 12-ого порядка в совершенный.

 

a1,1

a12,11

a1,3

a12,9

a1,5

a12,7

a1,12

a12,2

a1,10

a12,4

a1,8

a12,6

a2,12

a11,2

a2,10

a11,4

a2,8

a11,6

a2,1

a11,11

a2,3

a11,9

a2,5

a11,7

a3,1

a10,11

a3,3

a10,9

a3,5

a10,7

a3,12

a10,2

a3,10

a10,4

a3,8

a10,6

a4,12

a9,2

a4,10

a9,4

a4,8

a9,6

a4,1

a9,11

a4,3

a9,9

a4,5

a9,7

a5,1

a8,11

a5,3

a8,9

a5,5

a8,7

a5,12

a8,2

a5,10

a8,4

a5,8

a8,6

a6,12

a7,2

a6,10

a7,4

a6,8

a7,6

a6,1

a7,11

a6,3

a7,9

a6,5

a7,7

a12,1

a1,11

a12,3

a1,9

a12,5

a1,7

a12,12

a1,2

a12,10

a1,4

a12,8

a1,6

a11,12

a2,2

a11,10

a2,4

a11,8

a2,6

a11,1

a2,11

a11,3

a2,9

a11,5

a2,7

a10,1

a3,11

a10,3

a3,9

a10,5

a3,7

a10,12

a3,2

a10,10

a3,4

a10,8

a3,6

a9,12

a4,2

a9,10

a4,4

a9,8

a4,6

a9,1

a4,11

a9,3

a4,9

a9,5

a4,7

a8,1

a5,11

a8,3

a5,9

a8,5

a5,7

a8,12

a5,2

a8,10

a5,4

a8,8

a5,6

a7,12

a6,2

a7,10

a6,4

a7,8

a6,6

a7,1

a6,11

a7,3

a6,9

a7,5

a6,7

 

Рис. 27

 

Теперь очень просто решить задачу 1, предложенную выше, то есть превратить самый простой обратимый квадрат 12-ого порядка в совершенный. Надо просто составить этот квадрат и применить к нему преобразование, описанное матрицей с рис. 27. На рис. 28 вы видите полученный совершенный квадрат.

 

1

143

3

141

5

139

12

134

10

136

8

138

24

122

22

124

20

126

13

131

15

129

17

127

25

119

27

117

29

115

36

110

34

112

32

114

48

98

46

100

44

102

37

107

39

105

41

103

49

95

51

93

53

91

60

86

58

88

56

90

72

74

70

76

68

78

61

83

63

81

65

79

133

11

135

9

137

7

144

2

142

4

140

6

132

14

130

16

128

18

121

23

123

21

125

19

109

35

111

33

113

31

120

26

118

28

116

30

108

38

106

40

104

42

97

47

99

45

101

43

85

59

87

57

89

55

96

50

94

52

92

54

84

62

82

64

80

66

73

71

75

69

77

67

 

Рис. 28

 

Если построенный методом качелей совершенный квадрат 12-ого порядка (см. вторую часть этой статьи) повернуть на 90 градусов и отразить относительно вертикальной оси симметрии, то полученный квадрат будет связан с квадратом с рис. 28 простой перестановкой строк и столбцов.

 

Теперь, конечно, надо написать матрицу обратного преобразования, которое превращает совершенный квадрат в обратимый. Пусть исходный совершенный квадрат имеет матрицу B(bij), тогда соответствующий ему обратимый квадрат будет иметь матрицу C=g(B), которую вы видите на рис. 29.

 

b1,1

b7,8

b1,3

b7,10

b1,5

b7,12

b7,6

b1,11

b7,4

b1,9

b7,2

b1,7

b2,7

b8,2

b2,9

b8,4

b2,11

b8,6

b8,12

b2,5

b8,10

b2,3

b8,8

b2,1

b3,1

b9,8

b3,3

b9,10

b3,5

b9,12

b9,6

b3,11

b9,4

b3,9

b9,2

b3,7

b4,7

b10,2

b4,9

b10,4

b4,11

b10,6

b10,12

b4,5

b10,10

b4,3

b10,8

b4,1

b5,1

b11,8

b5,3

b11,10

b5,5

b11,12

b11,6

b5,11

b11,4

b5,9

b11,2

b5,7

b6,7

b12,2

b6,9

b12,4

b6,11

b12,6

b12,12

b6,5

b12,10

b6,3

b12,8

b6,1

b12,7

b6,2

b12,9

b6,4

b12,11

b6,6

b6,12

b12,5

b6,10

b12,3

b6,8

b12,1

b11,1

b5,8

b11,3

b5,10

b11,5

b5,12

b5,6

b11,11

b5,4

b11,9

b5,2

b11,7

b10,7

b4,2

b10,9

b4,4

b10,11

b4,6

b4,12

b10,5

b4,10

b10,3

b4,8

b10,1

b9,1

b3,8

b9,3

b3,10

b9,5

b3,12

b3,6

b9,11

b3,4

b9,9

b3,2

b9,7

b8,7

b2,2

b8,9

b2,4

b8,11

b2,6

b2,12

b8,5

b2,10

b8,3

b2,8

b8,1

b7,1

b1,8

b7,3

b1,10

b7,5

b1,12

b1,6

b7,11

b1,4

b7,9

b1,2

b7,7

 

Рис. 29

 

Написав эту матрицу, я элементарно решила задачу о совершенном квадрате 12-ого порядка, приведённом в статье на английском языке (ссылку см. выше). Напомню, что мне было непонятно, каким методом построен этот квадрат. Метод качелей к нему не удалось применить. Теперь понятно, что построен этот совершенный квадрат из обратимого квадрата преобразованием, матрица которого изображена на рис. 27. Сначала покажу этот совершенный квадрат, причём не буду его преобразовывать, а дам точную копию квадрата из статьи (рис. 30).

 

 

65

93

82

95

49

78

68

64

51

62

84

79

32

100

15

98

48

115

29

129

46

131

13

114

25

133

42

135

9

118

28

104

11

102

44

119

24

108

7

106

40

123

21

137

38

139

5

122

17

141

34

143

1

126

20

112

3

110

36

127

76

56

59

54

92

71

73

85

90

87

57

70

77

81

94

83

61

66

80

52

63

50

96

67

116

16

99

14

132

31

113

45

130

47

97

30

117

41

134

43

101

26

120

12

103

10

136

27

124

8

107

6

140

23

121

37

138

39

105

22

125

33

142

35

109

18

128

4

111

2

144

19

72

60

55

58

88

75

69

89

86

91

53

74

 

Рис. 30

 

Посмотрите, как затейливо расположились в этом совершенном квадрате первые 12 чисел – начальная цепочка. Применяю к этому квадрату преобразование, описанное матрицей с рис. 29 и получаю соответствующий обратимый квадрат (рис. 31).

 

65

52

82

50

49

67

66

84

83

51

81

68

29

16

46

14

13

31

30

48

47

15

45

32

25

12

42

10

9

27

26

44

43

11

41

28

21

8

38

6

5

23

22

40

39

7

37

24

17

4

34

2

1

19

18

36

35

3

33

20

73

60

90

58

57

75

74

92

91

59

89

76

69

56

86

54

53

71

70

88

87

55

85

72

125

112

142

110

109

127

126

144

143

111

141

128

121

108

138

106

105

123

122

140

139

107

137

124

117

104

134

102

101

119

118

136

135

103

133

120

113

100

130

98

97

115

114

132

131

99

129

116

77

64

94

62

61

79

78

96

95

63

93

80

 

Рис. 31

 

Понятно, что этот обратимый квадрат не входит в группу, порождаемую самым простым уникальным квадратом 12-ого порядка (со вписанными по порядку числами). Очевидно и то, что этот квадрат не является уникальным. Можно предложить такую задачу: составить уникальный квадрат 12-ого порядка, в группу которого входит квадрат с рис. 31.

 

Чтобы построить совершенный квадрат, подобный квадрату с рис. 30, я сделала следующее. Немного преобразовала обратимый квадрат с рис. 31, переставила строки: третью с четвёртой и девятую с десятой (всё равно, откуда считать – сверху или снизу). А затем применила к полученному обратимому квадрату преобразование, описанное матрицей с рис. 27. И вот вы видите совершенный квадрат, подобный квадрату, приведённому автором английской статьи, то есть имеющий такую же начальную цепочку (рис. 32).

 

 

65

93

82

95

49

78

68

64

51

62

84

79

32

100

15

98

48

115

29

129

46

131

13

114

21

137

38

139

5

122

24

108

7

106

40

123

28

104

11

102

44

119

25

133

42

135

9

118

17

141

34

143

1

126

20

112

3

110

36

127

76

56

59

54

92

71

73

85

90

87

57

70

77

81

94

83

61

66

80

52

63

50

96

67

116

16

99

14

132

31

113

45

130

47

97

30

121

37

138

39

105

22

124

8

107

6

140

23

120

12

103

10

136

27

117

41

134

43

101

26

125

33

142

35

109

18

128

4

111

2

144

19

72

60

55

58

88

75

69

89

86

91

53

74

 

Рис. 32

 

Посмотрите, как переставлены числа в начальной цепочке, но при этом её форма не изменилась.

Я показала, как работает преобразование, превращающее обратимые квадраты в совершенные, и обратное преобразование, превращающее совершенные квадраты в обратимые. Заинтересовавшиеся читатели без труда могут составить матрицы этих преобразований для квадратов следующих порядков.

 

Теперь ещё раз о программах. Здесь представляют интерес следующие программы:

а) программа для составления всех уникальных обратимых квадратов, например, для порядков n=8, 12, 16;

б) программа для получения обратимых квадратов одной группы, порождаемой уникальным квадратом; например, такая группа обратимых квадратов приведена в указанной статье для квадратов четвёртого порядка;

в) программа построения совершенных квадратов из обратимых.

 

Программы группы в) очень легко составить для любого конкретного порядка. Надо просто запрограммировать преобразование, превращающее обратимый квадрат в совершенный, а именно матрицу этого преобразования. Сложнее написать программу, выполняющую такое преобразование для квадратов любого порядка n=4k, k=1, 2, 3…

 

***

 

4-7 июня 2008 г.

 

Приведу программу построения совершенных квадратов из обратимых для квадратов четвёртого порядка. Программа очень простая. Вы вводите на запрос программы обратимый квадрат, и программа выдаёт соответствующий совершенный квадрат.

 

ТЕКСТ ПРОГРАММЫ

(язык QBASIC)

 

10 DIM A(4, 4), B(4, 4)

15 PRINT "VVEDITE OBRATIMYJ KVADRAT"

20 FOR I = 1 TO 4

25 FOR J = 1 TO 4

30 INPUT A(I, J)

35 NEXT J

40 NEXT I

45 B(1, 1) = A(1, 1): B(1, 2) = A(4, 3): B(1, 3) = A(1, 4): B(1, 4) = A(4, 2)

50 B(2, 1) = A(2, 4): B(2, 2) = A(3, 2): B(2, 3) = A(2, 1): B(2, 4) = A(3, 3)

55 B(3, 1) = A(4, 1): B(3, 2) = A(1, 3): B(3, 3) = A(4, 4): B(3, 4) = A(1, 2)

60 B(4, 1) = A(3, 4): B(4, 2) = A(2, 2): B(4, 3) = A(3, 1): B(4, 4) = A(2, 3)

70 PRINT "POLUCHEN SOVERSHENNYJ KVADRAT"

75 FOR I = 1 TO 4

80 FOR J = 1 TO 4

85 PRINT B(I, J);

90 NEXT J

95 PRINT

100 NEXT I

110 END

 

Конечно, для больших порядков простое переобозначение элементов матрицы неприемлемо. Надо организовать циклы для формирования матрицы B(bij) из элементов матрицы A(aij).

 

Пример применения программы:

 

Вводим в программу обратимый квадрат, который вы видите на рис. 33. Программа выдаст совершенный квадрат, соответствующий данному обратимому квадрату (рис. 34).

 

 

1

2

3

4

9

10

11

12

5

6

7

8

13

14

15

16

 

Рис. 33

 

 

1

15

4

14

12

6

9

7

13

3

16

2

8

10

5

11

 

Рис. 34

 

Понятно, что аналогично можно запрограммировать и превращение совершенного квадрата в обратимый. Для этого надо взять обратное преобразование, матрица которого показана на рис. 19. Зная все 48 совершенных квадратов четвёртого порядка, можно по этой программе получить все 48 обратимых квадратов.

 

А теперь представлю матрицу преобразования, осуществляющего превращение обратимого квадрата в совершенный, в общем виде для любого порядка  n=4k, k=1, 2, 3… (рис. 35).

 

 

a1,1

an,n-1

a1,3

an,n-3

an,k+1

a1,n

an,2

a1,n-2

an,4

a12,k

a2,n

an-1,2

a2,n-2

an-1,4

an-1,k

a2,1

an-1,n-1

a2,3

an-1,n-3

an-1,k+1

a3,1

an-2,n-1

a3,3

an-2,n-3

an-2,k+1

a3,n

an-2,2

a3,n-2

an-2,4

an-2,k

...

...

ak-2,n

ak+3,2

ak-2,n-2

ak+3,4

ak+3,k

ak-2,1

ak+3,n-1

ak-2,3

ak+3,n-3

ak+3,k+1

ak-1,1

ak+2,n-1

ak-1,3

ak+2,n-3

ak+2,k+1

ak-1,n

ak+2,2

ak-1,n-2

ak+2,4

ak+2,k

ak,n

ak+1,2

ak,n-2

ak+1,4

ak+1,k

ak,1

ak+1,n-1

ak,3

ak+1,n-3

ak+1,k+1

an,1

a1,n-1

an,3

a1,n-3

a1,k+1

an,n

a1,2

an,n-2

a1,4

a1,k

an-1,n

a2,2

an-1,n-2

a2,4

a2,k

an-1,1

a2,n-1

an-1,3

a2,n-3

a2,k+1

an-2,1

a3,n-1

an-2,3

a3,n-3

a3,k+1

an-2,n

a3,2

an-2,n-2

a3,4

a3,k

ak+3,n

ak-2,2

ak+3,n-2

ak-2,4

ak-2,k

ak+3,1

ak-2,n-1

ak+3,3

ak-2,n-3

ak-2,k+1

ak+2,1

ak-1,n-1

ak+2,3

ak-1,n-3

ak-1,k+1

ak+2,n

ak-1,2

ak+2,n-2

ak-1,4

ak-1,k

ak+1,n

ak,2

ak+1,n-2

ak,4

ak,k

ak+1,1

ak,n-1

ak+1,3

ak,n-3

ak,k+1

 

Рис. 35

 

И вот решение общей задачи: программа построения совершенного квадрата любого порядка n=4k из самого простого обратимого квадрата (то есть заполненного числами от 1 до n2 по порядку). В этой программе сначала составляется самый простой обратимый квадрат, а затем к нему применяется преобразование, матрица которого изображена на рис. 35. Всё очень просто! Чтобы программа построила совершенный квадрат, достаточно ввести порядок квадрата n.

 

ТЕКСТ ПРОГРАММЫ

(язык QBASIC)

 

 

5 OPEN "MK.txt" FOR OUTPUT AS #1

10 PRINT "VVEDITE PORYADOK KVADRATA"

15 INPUT N

20 K = N / 2

25 IF K/2 - INT(K/2) <> 0 THEN 10

27 DIM A(N,N), B(N,N)

30 M = N

35 FOR I = 1 TO N

40 FOR J = 1 TO N

45 A(I, J) = M - N + J

50 NEXT J

55 M = M + N

60 NEXT I

105 J = 1: L = 1

110 FOR I = 1 TO K

115 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(I, J)

120 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(I, N - 2 * (L - 1))

122 NEXT I

125 J = J + 2: L = L + 1

130 IF J > K - 1 THEN 140

135 GOTO 110

140 J = 2: L = 1

145 FOR I = 1 TO K

150 M = N - I

155 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(M + 1, N - 1 - 2 * (L - 1))

160 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(M + 1, J)

162 NEXT I

165 J = J + 2: L = L + 1

170 IF J > K THEN 200

175 GOTO 145

200 FOR X = K + 1 TO N

205 FOR Y = K + 1 TO N

210 B(X, Y) = N ^ 2 + 1 - B(X - K, Y - K)

215 NEXT Y

220 NEXT X

250 J = K + 1: L = 1

255 FOR I = 1 TO K

260 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(I, N - 2 * (L - 1))

265 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(I, J - K)

270 NEXT I

275 J = J + 2: L = L + 1

280 IF J > N - 1 THEN 300

285 GOTO 255

300 J = K + 2: L = 1

305 FOR I = 1 TO K

307 M = N - I

310 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(M + 1, J - K)

315 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(M + 1, N - 1 - 2 * (L - 1))

320 NEXT I

325 J = J + 2: L = L + 1

330 IF J > N THEN 350

335 GOTO 305

350 FOR X = K + 1 TO N

355 FOR Y = 1 TO K

360 B(X, Y) = N ^ 2 + 1 - B(X - K, Y + K)

365 NEXT Y

370 NEXT X

1000 FOR X = 1 TO N

1005 FOR Y = 1 TO N

1010 PRINT B(X, Y); : PRINT #1, B(X, Y);

1015 NEXT Y

1020 PRINT : PRINT #1,

1025 NEXT X

1030 CLOSE #1

1035 END

 

На рис. 36 показан совершенный квадрат 16-ого порядка, построенный по этой программе.

 

1

255

3

253

5

251

7

249

16

242

14

244

12

246

10

248

32

226

30

228

28

230

26

232

17

239

19

237

21

235

23

233

33

223

35

221

37

219

39

217

48

210

46

212

44

214

42

216

64

194

62

196

60

198

58

200

49

207

51

205

53

203

55

201

65

191

67

189

69

187

71

185

80

178

78

180

76

182

74

184

96

162

94

164

92

166

90

168

81

175

83

173

85

171

87

169

97

159

99

157

101

155

103

153

112

146

110

148

108

150

106

152

128

130

126

132

124

134

122

136

113

143

115

141

117

139

119

137

241

15

243

13

245

11

247

9

256

2

254

4

252

6

250

8

240

18

238

20

236

22

234

24

225

31

227

29

229

27

231

25

209

47

211

45

213

43

215

41

224

34

222

36

220

38

218

40

208

50

206

52

204

54

202

56

193

63

195

61

197

59

199

57

177

79

179

77

181

75

183

73

192

66

190

68

188

70

186

72

176

82

174

84

172

86

170

88

161

95

163

93

165

91

167

89

145

111

147

109

149

107

151

105

160

98

158

100

156

102

154

104

144

114

142

116

140

118

138

120

129

127

131

125

133

123

135

121

 

Рис. 36

 

Совершенный квадрат 20-ого порядка покажу в том виде, как программа записала его в файл, то есть не буду переписывать квадрат в матрицу.

 

Совершенный квадрат 20-ого порядка:

 

1  399  3  397  5  395  7  393  9  391  20  382  18  384  16  386  14  388  12  390

 40  362  38  364  36  366  34  368  32  370  21  379  23  377  25  375  27  373  29  371

 41  359  43  357  45  355  47  353  49  351  60  342  58  344  56  346  54  348  52  350

 80  322  78  324  76  326  74  328  72  330  61  339  63  337  65  335  67  333  69  331

 81  319  83  317  85  315  87  313  89  311  100  302  98  304  96  306  94  308  92  310

 120  282  118  284  116  286  114  288  112  290  101  299  103  297  105  295  107  293  109  291

 121  279  123  277  125  275  127  273  129  271  140  262  138  264  136  266  134  268  132  270

 160  242  158  244  156  246  154  248  152  250  141  259  143  257  145  255  147  253  149  251

 161  239  163  237  165  235  167  233  169  231  180  222  178  224  176  226  174  228  172  230

 200  202  198  204  196  206  194  208  192  210  181  219  183  217  185  215  187  213  189  211

 381  19  383  17  385  15  387  13  389  11  400  2  398  4  396  6  394  8  392  10

 380  22  378  24  376  26  374  28  372  30  361  39  363  37  365  35  367  33  369  31

 341  59  343  57  345  55  347  53  349  51  360  42  358  44  356  46  354  48  352  50

 340  62  338  64  336  66  334  68  332  70  321  79  323  77  325  75  327  73  329  71

 301  99  303  97  305  95  307  93  309  91  320  82  318  84  316  86  314  88  312  90

 300  102  298  104  296  106  294  108  292  110  281  119  283  117  285  115  287  113  289  111

 261  139  263  137  265  135  267  133  269  131  280  122  278  124  276  126  274  128  272  130

 260  142  258  144  256  146  254  148  252  150  241  159  243  157  245  155  247  153  249  151

 221  179  223  177  225  175  227  173  229  171  240  162  238  164  236  166  234  168  232  170

 220  182  218  184  216  186  214  188  212  190  201  199  203  197  205  195  207  193  209  191

 

Предлагаю читателям построить по программе совершенные квадраты следующих порядков.

Понятно, что программу можно изменить так, чтобы она строила совершенный квадрат из любого обратимого квадрата. Для этого надо убрать строки, формирующие самый простой обратимый квадрат, и вставить строки для ввода обратимого квадрата.

Тогда программа будет начинаться так:

 

5 OPEN "MK.txt" FOR OUTPUT AS #1

10 PRINT "VVEDITE PORYADOK KVADRATA"

15 INPUT N

20 K = N / 2

25 IF K / 2 - INT(K / 2) <> 0 THEN 10

27 DIM A(N, N), B(N, N)

30 PRINT "VVEDITE OBRATIMYJ KVADRAT"

35 FOR I = 1 TO N

40 FOR J = 1 TO N

45 INPUT A(I, J)

50 NEXT J

55 NEXT I

105 J = 1: L = 1

 

Приведу пример построения совершенного квадрата по этой программе. В качестве исходного обратимого квадрата 12-ого порядка возьму второй уникальный обратимый квадрат, который составила по аналогии со вторым уникальным обратимым квадратом восьмого порядка (см. рис. 25). Этот обратимый квадрат вы видите на рис. 37.

 

1

2

3

4

5

6

13

14

15

16

17

18

7

8

9

10

11

12

19

20

21

22

23

24

25

26

27

28

29

30

37

38

39

40

41

42

31

32

33

34

35

36

43

44

45

46

47

48

49

50

51

52

53

54

61

62

63

64

65

66

55

56

57

58

59

60

67

68

69

70

71

72

73

74

75

76

77

78

85

86

87

88

89

90

79

80

81

82

83

84

91

92

93

94

95

96

97

98

99

100

101

102

109

110

111

112

113

114

103

104

105

106

107

108

115

116

117

118

119

120

121

122

123

124

125

126

133

134

135

136

137

138

127

128

129

130

131

132

139

140

141

142

143

144

 

Рис. 37

 

Ввожу данный обратимый квадрат в программу, и она выдаёт соответствующий ему совершенный квадрат, который вы видите на рис. 38.

 

1

143

3

141

5

139

18

128

16

130

14

132

24

122

22

124

20

126

7

137

9

135

11

133

25

119

27

117

29

115

42

104

40

106

38

108

48

98

46

100

44

102

31

113

33

111

35

109

49

95

51

93

53

91

66

80

64

82

62

84

72

74

70

76

68

78

55

89

57

87

59

85

127

17

129

15

131

13

144

2

142

4

140

6

138

8

136

10

134

12

121

23

123

21

125

19

103

41

105

39

107

37

120

26

118

28

116

30

114

32

112

34

110

36

97

47

99

45

101

43

79

65

81

63

83

61

96

50

94

52

92

54

90

56

88

58

86

60

73

71

75

69

77

67

 

Рис. 38

 

Совершенный квадрат получился с такой же формой начальной цепочки, как совершенный квадрат восьмого порядка, построенный из уникального обратимого квадрата с рис. 25. Интересно напомнить, что методом качелей мне такой квадрат построить не удалось (см. вторую часть настоящей статьи). Видимо, я где-то допустила ошибку при переносе чисел из образующей таблицы в матрицу для квадрата (я отмечала при построении квадрата восьмого порядка этим методом, что перенос имеет несколько особенностей, а поскольку у меня был всего один опыт такого построения – квадраты восьмого порядка – видимо, я и не уловила всех особенностей). Теперь покажу, чем же отличаются квадрат, построенный методом качелей, от квадрата с рис. 38. Но прежде надо повернуть квадрат с рис. 38 на 90 градусов по часовой стрелке и отразить относительно вертикальной оси симметрии. Полученный в результате этих преобразований эквивалентный квадрат вы видите на рис. 39.

 

1

24

25

48

49

72

127

138

103

114

79

90

143

122

119

98

95

74

17

8

41

32

65

56

3

22

27

46

51

70

129

136

105

112

81

88

141

124

117

100

93

76

15

10

39

34

63

58

5

20

29

44

53

68

131

134

107

110

83

86

139

126

115

102

91

78

13

12

37

36

61

60

18

7

42

31

66

55

144

121

120

97

96

73

128

137

104

113

80

89

2

23

26

47

50

71

16

9

40

33

64

57

142

123

118

99

94

75

130

135

106

111

82

87

4

21

28

45

52

69

14

11

38

35

62

59

140

125

116

101

92

77

132

133

108

109

84

85

6

19

30

43

54

67

 

Рис. 39

 

А теперь дублирую из второй части этой статьи квадрат, который был построен методом качелей (рис. 40):

 

1

24

25

48

49

72

127

138

79

90

103

114

143

122

119

98

95

74

17

8

65

56

41

32

3

22

27

46

51

70

129

136

81

88

105

112

141

124

117

100

93

76

15

10

63

58

39

34

5

20

29

44

53

68

131

134

83

86

107

110

139

126

115

102

91

78

13

12

61

60

37

36

18

7

66

55

42

31

144

121

120

97

96

73

128

137

80

89

104

113

2

23

26

47

50

71

16

9

64

57

40

33

142

123

118

99

94

75

130

135

82

87

106

111

4

21

28

45

52

69

14

11

62

59

38

35

140

125

116

101

92

77

132

133

84

85

108

109

6

19

30

43

54

67

 

Рис. 40

 

Сравните эти квадраты. Вы видите, что я была совсем близка к цели: надо просто переставить полустолбцы в выделенных частях квадрата на рис. 40. И совершенный квадрат готов! Очевидно, что была допущена ошибка при переносе чисел из образующей таблицы в матрицу для квадрата. Таким образом, уважаемые читатели, вы видите весь процесс моих исследований, проб и ошибок, и я думаю, что это не менее интересно, чем читать только окончательные результаты,