Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

QuadradosMagicos pt2

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 24

Acta Legalicus • Janeiro 2020 • No.

27

Quadrados mágicos:
matrizes fantásticas e onde habitam
Parte 2
Caio Henrique Silva de Souza∗
caiohsouza36@gmail.com
Universidade Federal de São Carlos

Resumo

Na Parte 1 deste artigo construímos quadrados mágicos regulares de ordem n ímpar a partir dos grupos
(Zn , +n ). Na Parte 2 vamos buscar métodos de construção para quadrados mágicos de ordem par a
partir de uma outra estrutura algébrica: os corpos finitos. Falaremos por fim de quadrados mágicos em k
dimensões.

1. Quadrados Mágicos de ordem n = 2s

1.1 Corpos
Consideremos o conjunto Z dos números inteiros. Sabemos que (Z, +) é um grupo com
elemento neutro 0. Como a + b = b + a para todos a, b ∈ Z, temos que a operação soma é
comutativa e o grupo (Z, +) é abeliano. Já a estrutura (Z∗ , ·), mesmo sendo uma estrutura com
elemento neutro 1, esta não é grupo pois nem todos os elementos possuem um inverso com relação
ao produto.

No entanto, as duas estruturas (Z, +) e (Z∗ , ·) podem ser interligadas. As operações binárias
soma e produto de Z conversam através da seguinte propriedade:

• distributividade: se a, b e c são números inteiros então a · (b + c) = ab + ac e (b + c) · a =


ba + ca.

Vamos voltar ao nosso grupo (Z3 , +3 ) e acrescentar uma segunda operação, procurando
alcançar a propriedade distributiva.
Exemplo 1.1. Definimos um produto ·3 : Z3 × Z3 −→ Z3 de maneira que,

a ·3 b = a · b

onde a · b é a classe de aḃ na relação de equivalência ∼3 . Por exemplo, 1 ·3 2 = 2 e 2 ·3 2 = 2 · 2 = 4 = 1.


Temos a tabela desta operação binária na Figura 1.

Da mesma maneira que fizemos com a soma +3 é preciso verificar que a operação ·3 está bem definida,
isto é, o resultado de a ·3 b não se altera se escolhermos outros representantes para a e b. Essa verificação é
∗ Agradecimentos ao Prof. Dr. João Nivaldo Tomazella, meu orientador no início da graduação, por apoiar minhas

ideias.

1
Acta Legalicus • Janeiro 2020 • No. 27

·3 0̄ 1̄ 2̄

0̄ 0̄ 0̄ 0̄

1̄ 0̄ 1̄ 2̄

2̄ 0̄ 2̄ 1̄

Figura 1: Tabela da operação ·3 .

análoga a que foi feita com a soma +3 na Parte 1.

Vejamos que vale a propriedade distributiva: sejam a, b, c ∈ Z3 . Utilizando que vale a propriedade
distributiva em Z, obtemos

a ·3 ( b +3 c ) = a ·3 ( b + c ) = a · ( b + c ) = a · b + a · c = a · b +3 a · c = a ·3 b +3 a ·3 c

De maneira parecida mostramos que (b +3 c) ·3 a = b ·3 a +3 c ·3 a.


H

Vemos que essa nova operação em Z3 não nos fornece um grupo. Porém, se consideramos
Z3∗ = {1, 2}, vemos que (Z3∗ , ·3 ) é um grupo (Figura 2). De fato, a operação ·3 em Z3∗ é associativa,
1 o elemento neutro e, como 1 ·3 1 = 1 e 2 ·3 2 = 1, todo elemento possui inverso.

·3 1̄ 2̄

1̄ 1̄ 2̄

2̄ 2̄ 1̄

Figura 2: Tabela de grupo de (Z3∗ , ·3 ).

A tabela de grupo de (Z3∗ , ·3 ) é simétrica com relação a diagonal principal, logo a operação ·3
é comutativa. (Z3 , +3 , ·3 ) forma uma estrutura que nomearemos na próxima definição.

Definição 1.2. Sejam F um conjunto, + : F × F −→ F e · : F × F −→ F duas operações binárias


chamadas, respectivamente, soma e produto. A tripla (F, +, ·) é dita um corpo se

(i) (F, +) é um grupo abeliano, com elemento neutro 0;

(ii) (F∗ , ·) é um grupo abeliano com elemento neutro 1, sendo F∗ = F \ {0};

(iii) distributividade: para todo a, b, c ∈ F vale a · (b + c) = a · b + a · c e (b + c) · a = b · a + c · a.

2
Acta Legalicus • Janeiro 2020 • No. 27

Exemplo 1.3. Os conjuntos numéricos Q (números racionais), R (números reais) e C (números complexos)
juntamente com a soma e produto tradicionais, isto é, (Q, +, ·), (R, +, ·) e (C, +, ·), são corpos. No entanto,
(Z, +, ·) não é um corpo pois, como vimos, (Z∗ , ·) não é grupo.
H

Exemplo 1.4. Como mostrado acima, (Z3 , +3 , ·3 ) é um corpo. Veremos agora que se p é primo então
(Z p .+ p , · p ) é corpo. Aqui a operação · p é definida de maneira semelhante a operação ·3 . Como já dito
na seção anterior, (Zn , +n ) é grupo abeliano para todo inteiro n ≥ 0. Em particular então (Z p , + p ) é
grupo abeliano para p primo. A distributividade que liga as operações + p e · p pode ser verificada como no
Exemplo 1.1.

Precisamos mostrar que (Z∗p , · p ) é grupo abeliano. A associatividade e a comutatividade são decorrentes
principalmente do fato de que o produto de números inteiros é associativo e comutativo. O elemento neutro
da operação · p é 1. Dessa forma, nos concentraremos em mostrar que para todo a ∈ Z p existe a0 tal que
a · a0 = 1. Primeiramente veremos que em (Z p , + p , · p ) vale a seguinte propriedade:

• integridade: a · p b = 0 ⇒ a = 0 ou b = 0

De fato, suponhamos que a · p b = 0. Assim, a · b = 0, isto é, p divide ab. O Lema de Euclides, presente
na magnífica obra Os Elementos, Livro VII, Proposição 30, nos diz que se p é um primo e p divide o produto
de dois números inteiros então p deve dividir pelo menos um dos fatores. Isto é, se p divide ab então p divide
a ou p divide b. Isso significa que a = 0 ou b = 0 na relação de equivalência ∼ p . Logo (Z p , + p , · p ) possui
a propriedade de integridade.

Vamos agora mostrar que todo elemento de Z∗p possui inverso com relação a operação · p . Seja a ∈ Z∗p .
Consideremos a função f : Z p −→ Z p dada por f ( x ) = a · p x. Tal função é injetora pois

a · p x = a · p y ⇔ a · p x + p (− a · p y) = 0 ⇔ a · p x + p a · p (−y) = 0 ⇔ a · p ( x + p (−y)) = 0

e, como Z p possui a propriedade de integridade e a 6= 0, então x − y = 0 ⇒ x = y. A função f é também


sobrejetora pois é injetora e Z p tem um número finito de elementos. Assim f é uma bijeção de Z p em Z p .
Pela definição de sobrejetividade, para 1 ∈ Z p deve existir a0 ∈ Z p tal que f ( a0 ) = 1. Mas isso significa
que existe a0 tal que a0 · p a = 1. Assim qualquer elemento não nulo de Z p possui inverso com relação a
operação · p . Concluímos dessa forma que (Z∗p , · p ) é grupo abeliano e portanto (Z p , + p , · p ) é corpo para p
primo.
H

Observação 1.5. Todo corpo (F, +, ·) possui a propriedade de integridade, uma vez que se a · b = 0 e
b 6= 0 então, tomando o inverso b0 de b, temos a · b = 0 ⇒ a · b · b0 = 0 · b0 ⇒ a · 1 = 0 ⇒ a = 0.

Exemplo 1.6. Embora a propriedade de integridade pareça imediata, ela não está presente em todas as
estruturas. Por exemplo, se considerarmos (Z4 , +4 , ·4 ) então 2 ·4 2 = 0, porém 2 6= 0, ou seja, (Z4 , +4 , ·4 )
não possui a propriedade de integridade. Concluímos também, devido a Observação 1.5, que (Z4 , +4 , ·4 )
não é corpo.
H

Nos corpos temos uma propriedade interessante envolvendo a soma. Em um corpo (F, +, ·)
qualquer, o menor número natural k tal que

k vezes
z }| {
k1 := 1 + 1 + . . . + 1 = 0

3
Acta Legalicus • Janeiro 2020 • No. 27

é chamado característica de F e denotado char (F). Caso não haja tal número natural dizemos que
a característica do corpo é 0.

Exemplo 1.7. Para os corpos numéricos do Exemplo 1.3 como, por exemplo, (Q, +, ·), temos char (Q) = 0.
H
p vezes
z }| {
Exemplo 1.8. Consideremos os corpos finitos (Z p , + p , · p ), p primo. Como 1 + 1 + . . . + 1 = p, vemos
que p1 = 0. Este é o menor número tal que isso acontece. Logo char (Z p ) = p.
H

Apresentaremos alguns fatos envolvendo a característica de um corpo, mas (infelizmente)


não demonstraremos todos eles. A prova dos fatos abaixo fazem parte uma área da Matemática
chamada Teoria de Galois. Uma sugestão de referência para se iniciar nesta área é [14].

• A característica de um corpo F só pode ser igual a 0 ou a um primo p. Isso pois se


supormos que 0 6= char (F) = k = mn, com 1 < m, n < k, então m1 6= 0 e n1 6= 0
(pois k, sendo a característica, é o menor número que satisfaz isso) porém, com isso,
(m1) · (n1) = (mn)1 = k1 = 0, o que não pode ocorrer pois um corpo possui a propriedade
de integridade;

• se char (F) = 0 então F possui infinitos elementos. Logo a característica de um corpo finito é
sempre um número primo p;

• se F é um corpo finito de característica p então F possui ps elementos, para algum inteiro


s ≥ 1;

• para qualquer primo p e inteiro s ≥ 1 existe um corpo com ps elementos. Denotamos tal
corpo por F ps .

Focaremos mais adiante nos corpos finitos pois poderemos exibir suas tabelas de soma e
produto e, a partir delas, construir quadrados mágicos. Para encontrar tais tabelas, utilizaremos
polinômios.

Seja F um corpo. Vamos denotar por F[ x ] o conjunto de todos os polinômios na variável x e


coeficientes em F, que são expressões da forma
t
p( x ) = ∑ a i x i = a t x t + . . . + a1 x + a0
i =0

com ai ∈ F, t ∈ Z≥0 e at 6= 0 se t 6= 0. Aos elementos ai damos o nome de coeficientes. O número


inteiro positivo t é dito grau do polinômio e denotado gr ( p( x )). Um polinômio de grau t = 0 é
chamado constante.

Exemplo 1.9. O corpo (F2 , +, ·) é formado por dois elementos, ou seja, F2 = {0, 1}. Assim,

F2 [ x ] = {0, 1, x, x + 1, x2 , x2 + 1, x2 + x, x2 + x + 1, x3 , x3 + 1, . . .}

4
Acta Legalicus • Janeiro 2020 • No. 27

É possível somar e multiplicar polinômios. Sendo p( x ) = an x n + . . . + a1 x + a0 e q( x ) =


bm x m + . . . + b1 x + b0 com n > m e considerando bk = 0 para n ≥ k > m, a soma e produto de
polinômios são escritos formalmente como
n n+m
p( x ) + q( x ) := ∑ ( a i + bi ) x i e p( x ) · q( x ) := ∑ di x i
i =0 i =0

i
onde di = ∑ a j bh , com 0 ≤ j, h ≤ n + m ou, equivalentemente, di = ∑ a j bi− j . Se o corpo F
j + h =i j =0
possui característica k, então a soma de k vezes o mesmo polinômio resulta no polinômio constante
igual a 0.

No conjunto dos inteiros Z vimos o algoritmo da divisão de Euclides. Esse algoritmo também
possui um análogo quando lidamos com polinômios com coeficientes em um corpo. Uma
demonstração para o teorema a seguir pode ser vista em [7].

Teorema 1.10. Para quaisquer polinômios a( x ), b( x ) ∈ F[ x ] existem únicos polinômios q( x ) e r ( x ) tais


que
a( x ) = b( x ) · q( x ) + r ( x )
onde r ( x ) = 0 ou gr (r ( x )) < gr (b( x )). 

Por exemplo, em F2 [ x ] temos x3 = ( x + 1) · ( x2 + x + 1) + 1 ( a( x ) = x3 , b( x ) = x + 1, q( x ) =


x2 + x + 1, r ( x ) = 1).

Um polinômio não constante p( x ) é redutível quando p( x ) = f ( x ) · g( x ), ambos f ( x ) e g( x )


não constantes. Caso isso não seja possível, p( x ) é dito irredutível. Decidir se um polinômio
qualquer é redutível ou irredutível não é uma tarefa fácil, porém em alguns casos específicos
podemos desenvolver algorítimos simples. Por exemplo, o próximo teorema pode ser utilizado
para encontrar polinômios irredutíveis de grau 2 ou 3.

O elemento α ∈ F será uma raiz de p( x ) = at x t + . . . + a1 x + a0 ∈ F[ x ] se p(α) = at αt + . . . +


a1 α + a0 = 0.

Teorema 1.11. Sejam α ∈ F e p( x ) ∈ F[ x ]. Temos que α é uma raiz de p( x ) se, e somente se, p( x ) =
( x − α) · q( x ), com q( x ) ∈ F[ x ].
Demonstração. (⇒) Suponhamos que α seja raiz de p( x ). Pelo algoritmo da divisão, existem
q( x ), r ( x ) ∈ F[ x ] tais que p( x ) = ( x − α) · q( x ) + r ( x ), onde r ( x ) = 0 ou deg(r ( x )) < gr ( x − α) = 1.
Nessa segunda situação, r ( x ) é um polinômio constante c. Avaliando em α, temos que

0 = p(α) = 0 · q(α) + c ⇔ c = 0,

portanto p( x ) = ( x − α) · q( x ).
(⇐) Agora se p( x ) = ( x − α) · q( x ) então basta fazer a avaliação em α para p(α) = 0.

Exemplo 1.12. Se um polinômio p( x ) ∈ F[ x ] tem grau 3 ou 2, então este será redutível se, e somente se,
possuir um fator linear que, conforme o teorema, significa que p( x ) possui uma raiz em F. Assim podemos
verificar que x2 + x + 1, x3 + x + 1 e x3 + x2 + 1 são irredutíveis em F2 [ x ] pois têm grau 2 ou 3 e não
possuem raiz em F2 . H

5
Acta Legalicus • Janeiro 2020 • No. 27

Observação 1.13. De forma alguma podemos generalizar o critério do exemplo anterior para polinômios de
grau maior que 3: um contra-exemplo é x4 + x2 + 1 = ( x2 + x + 1)2 que não possui raiz em F2 , mas é
produto de dois polinômios não constantes.

Exemplo 1.14. Ainda em F2 [ x ], se um polinômio p( x ) possui grau 4 ou 5, para mostrar que este é
irredutível é suficiente mostrar que este não possui fatores de grau 1 ou 2. Para mostrar que p( x ) não
possui fatores lineares, podemos o usar o critério da raiz do Exemplo 1.12. Os polinômios de grau 4 que não
possuem raiz em F2 são

x4 + x3 + x2 + x + 1, x4 + x3 + 1, x4 + x2 + 1 e x4 + x + 1.
Os polinômio de grau 5 que não possuem raiz são

x5 + x4 + x3 + x2 + 1, x5 + x4 + x3 + x + 1, x5 + x4 + x2 + x + 1,

x5 + x3 + x2 + x + 1, x5 + x4 + 1, x5 + x2 + 1 e x5 + x + 1.
Indo agora para os fatores de grau 2, como o único polinômio irredutível de grau 2 em F2 [ x ] é
x2 + x + 1, basta fazermos a divisão dos polinômios acima por este. Encontramos dessa forma que os
polinômios irredutíveis de grau 4 são

x4 + x3 + x2 + x + 1, x4 + x3 + 1 e x4 + x + 1.

Os polinômios irredutíveis de grau 5 em F2 [ x ] são

x5 + x4 + x3 + x2 + 1, x5 + x4 + x3 + x + 1, x5 + x4 + x2 + x + 1,

x5 + x3 + x2 + x + 1 e x5 + x2 + 1.
H

Se para qualquer primo p e inteiro s ≥ 1 existe um corpo com ps elementos, vamos buscar as
tabelas de soma e produto do corpo com 4 elementos F22 = F4 , que utilizaremos para construir
um quadrado mágico de ordem n = 4. Para tal, o polinômio x2 + x + 1 ∈ F2 [ x ] e o algoritmo da
divisão serão nossos aliados.

Exemplo 1.15. Na divisão por p( x ) = x2 + x + 1 temos como possíveis restos 0, 1, x e x + 1. Tomando a


relação ∼ p( x) dada por a( x ) ∼ p( x) b( x ) se, e somente se, a( x ) e b( x ) deixam o mesmo resto na divisão por
p( x ), esta relação é de equivalência. As classes são

0 = {q( x ) · ( x2 + x + 1) | q( x ) ∈ F2 [ x ]}1

1 = {q( x ) · ( x2 + x + 1) + 1 | q( x ) ∈ F2 [ x ]}
x = {q( x ) · ( x2 + x + 1) + x | q( x ) ∈ F2 [ x ]}
x + 1 = {q( x ) · ( x2 + x + 1̄) + ( x + 1) | q( x ) ∈ F2 [ x ]}.
Todo polinômio de F2 [ x ] deve pertencer a um e apenas um destes conjuntos. Definido então a soma + p(x)
e o produto · p(x) como feito em Z3 , via operação com classes, obtemos um conjunto e duas operações. Por
exemplo, x + p(x) x + 1 = 1 pois x + ( x + 1) = ( x + x ) + 1 = 1 em F2 [ x ] (lembre-se da característica 2 de
1 não confundir com o elemento neutro da soma de Z (em relação aos elementos destes conjuntos), embora o príncipio
2
de criação destes seja o mesmo (e isso é o que deve ser levado em conta). Utilizaremos a mesma notação para evitar que a
mesma fique muito carregada.

6
Acta Legalicus • Janeiro 2020 • No. 27

F2 ) e x · p(x) x = x + 1 pois x2 = 1 · ( x2 + x + 1) + ( x + 1).

Afirmamos que {0, 1, x, x + 1} com estas duas operações formam o procurado corpo com quatro ele-
mentos F4 . As tabelas das operações estão descritas na Figura 3 A associatividade, a distributividade e a
comutatividade são decorrentes do fato de as operações com polinômios já terem estas propriedades. Como
p( x ) = x2 + x + 1 é irredutível, o produto de dois polinômios não nulos de grau menor do que 2 não pode
ser igual p( x ), logo vale a propriedade de integridade e podemos utilizar o mesmo argumento da função
que vimos no Exemplo 1.4 para mostrar que os elementos diferentes de 0 possuem inverso com relação ao
produto.

+ p( x) 0 1 x x+1
· p( x) 1 x x+1
0 0 1 x x+1
1 1 x x+1
1 1 0 x+1 x
x x x+1 1
x x x+1 0 1
x+1 x+1 1 x
x+1 x+1 x 1 0

Figura 3: Tabela de grupo de (F4 , + p(x) ) e tabela de grupo de (F4∗ , · p(x) ).

1.2 Construindo quadrados mágicos a partir de corpos finitos


Obteremos duas tabelas a partir da tabela de grupo de (F4 , + p(x) ). Novamente, como no caso n
ímpar, a tabela de grupo de (F4 , + p(x) ) já é um quadrado latino. Porém sua diagonal principal
está preenchida pelo mesmo símbolo e o mesmo para a diagonal secundária.
Vamos ajeitar estas diagonais. Considerando a bijeção ϕ : F4 −→ F4 dada por ϕ( a) = x · p(x) a ou,
explicitamente,

0 7−→ 0
1 7−→ x
x 7−→ x + 1
x + 1 7−→ 1,

preenchemos a tabela à esquerda na Figura 4.

7
Acta Legalicus • Janeiro 2020 • No. 27

+ p( x) 0 1 x x+1 + p( x) 0 1 x x+1

ϕ(0) 0 1 x x+1 ψ (0) 0 1 x x+1

ϕ(1) x x+1 0 1 ψ (1) x+1 x 1 0

ϕ( x) x+1 x 1 0 ψ( x) 1 0 x+1 x

ϕ( x + 1) 1 0 x+1 x ψ ( x + 1) x x+1 0 1

Figura 4: Tabela de grupo de (F4 , + p(x) ) com linhas trocadas pela função ϕ e tabela de grupo de (F4 , + p(x) ) com linhas
trocadas pela função ψ.

Nesta tabela vemos que a bijeção fez uma troca nas linhas da tabela de grupo e, com isso
conseguimos um quadrado latino cujas diagonais são preenchidas por 4 símbolos distintos.
Considerando a bijeção ψ : F4 −→ F4 dada por ψ( a) = ( x + 1) · p(x) a ou, explicitamente,

0 7−→ 0
1 7−→ x + 1
x 7−→ 1
x + 1 7−→ x.

conseguimos a segunda tabela, exposta na Figura 4.

Substituindo 0 por 0, 1 por 1, x por 2 e x + 1 por 3, obtemos dois quadrados latinos L1,4 e L2,4
(Figura 5). Estes quadrados latinos são ortogonais. De fato, suponhamos que (αij , β ij ) = (αi0 j0 , β i0 j0 ),
com αij , αi0 j0 ∈ L1,4 e β ij , β i0 j0 ∈ L2,4 . Assim, αij = αi0 j0 e β ij = β i0 j0 . Como αij = x · p(x) a1 + b1 e
αi0 j0 = x · p(x) a2 + b2 (semelhante para β) para alguma combinação de a1 , a2 , b1 , b2 ∈ F4 , obtemos o
seguinte sistema (
x · p(x) a1 + b1 = x · p(x) a2 + b2
( x + 1) · p(x) a1 + p(x) b1 = ( x + 1) · p(x) a2 + p(x) b2
Somando as equações

a1 · p(x) ( x + p(x) ( x + 1)) = a2 · p(x) ( x + p(x) ( x + 1)) ⇔

a1 · p( x ) 1 = a2 · p( x ) 1 ⇔ a1 = a2 .
Em seguida, substituindo na primeira equação obtemos b1 = b2 . Com isso, αij = αi0 j0 e
β ij = β i0 j0 .

Conseguidos os dois quadrados latinos ortogonais, basta agora seguirmos o que fizemos no
caso ímpar: multiplicamos os elementos da matriz L2,4 por 4, obtendo a matriz 4L2,4 e então
0 0
somamos M4 = L1,4 + 4L2,4 . Somando 1 a todas as entradas de M4 , obtemos um quadrado mágico

8
Acta Legalicus • Janeiro 2020 • No. 27

0 1 2 3 0 1 2 3
2 3 0 1 3 2 1 0
3 2 1 0 1 0 3 2
1 0 3 2 2 3 0 1

Figura 5: Matriz L1,4 e matriz L2,4 .

de ordem n = 4 com constante 34.

1 6 11 16
15 12 5 2
8 3 14 9
10 13 4 7

Figura 6: Quadrado mágico de ordem 4.

Note que este quadrado mágico é diferente do Quadrado de Dürer. Esta construção pode ser
generalizada através dos passos a seguir:

1. Tomamos um polinômio irredutível p( x ) de grau s em F p [ x ]. Consideramos o corpo F ps


formados através dos conjuntos definidos pelos restos da divisão por p( x ) e a relação de
equivalência ∼ p( x) e as operações análogas as definidas anteriormente. Por exemplo, para
x3 + x + 1 ∈ F2 [ x ] (irredutível pois é de grau 3 e não possui raízes em F2 ) temos

F8 = {0, 1, x, x + 1, x2 , x2 + 1, x2 + x, x2 + x + 1}.

2. Construímos a tabela de grupo para (F ps , + p(x) ) e (F∗ps , · p(x) ).

3. A partir das bijeções ϕ : F ps −→ F ps dada por ϕ( ā) = x · p(x) ā e ψ : F ps −→ F ps dada por


ψ( ā) = x + 1 · p(x) ā, fazemos as trocas necessárias nas linhas da tabela de soma para obter
dois quadrados latinos ortogonais L1,ps e L2,ps .

4. Fazendo uma bijeção entre F ps e o conjunto {0, 1, 2, . . . , ps − 1}, trocamos cada elemento das
matrizes obtidas através do passo anterior pelo sua imagem por esta bijeção. Por exemplo
em F8 podemos fazer

9
Acta Legalicus • Janeiro 2020 • No. 27

0 7−→ 0
1 7−→ 1
x 7−→ 2
x + 1 7−→ 3
x2 7−→ 4
x2 + 1 7−→ 5
x2 + x 7−→ 6
x2 + x + 1 7−→ 7.

5. Seguimos o que é feito nos Passos 6. , 7. e 8. da construção para n ímpar na Parte 1.

Na Figura 7 temos um quadrado mágico de ordem n = 8 construído com este método. Assim
temos um método que nos permite construir os quadrados mágicos de ordem n = 2s .

1 10 19 28 37 46 55 65

27 20 9 2 63 56 45 38

53 62 39 48 17 26 3 12

47 40 61 54 11 4 25 18

60 51 42 33 32 23 14 5

34 41 52 59 6 13 24 31

16 7 30 21 44 35 58 49

22 29 8 15 50 57 36 43

Figura 7: Quadrado mágico de ordem 8.

2. Quadrados mágicos de ordem n = 2s m


Após encontrarmos um par de quadrados latinos ortogonais e ajeitarmos suas diagonais,
podemos dizer que todo o trabalho para se construir um quadrado mágico terminou. Já sabemos
construir pares ortogonais de ordem ímpar e de ordem 2s . O próximo teorema nos diz que é
possível então obter pares ortogonais de outras ordens utilizando estes que já conhecemos.

Teorema 2.1. Se existe um par de quadrados latinos ortogonais de ordem n e se existe um par de quadrados
latinos ortogonais de ordem m, então existe um par de quadrados latinos ortogonais de ordem nm.

Demonstração. Sejam A(1) e A(2) um par de quadrados latinos ortogonais de ordem m e B(1) e B(2)
um par de quadrados latinos ortogonais de ordem n. Vamos definir, para cada e = 1, 2 as matrizes
(e) (e) (e)
( aij , B(e) ) formada pelos pares ( aij , bhk ) com 1 ≤ h, k ≤ n. Por exemplo, para A(1) e A(2) par

10
Acta Legalicus • Janeiro 2020 • No. 27

(1)
ortogonal de ordem m = 4 (Figura 5) e B(1) e B(2) par ortogonal de ordem n = 3 temos ( a11 , B(1) )
igual a matriz da Figura 8. Seja então C (e) a matriz mn × mn representada na Figura 9.

(0, 2) (0, 0) (0, 1)

(0, 0) (0, 1) (0, 2)

(0, 1) (0, 2) (0, 0)

(1)
Figura 8: Matriz ( a11 , B(1) )

(e) (e) (e)


( a11 , B(e) ) ( a12 , B(e) ) ··· ( a1m , B(e) )

(e) (e) (e)


( a21 , B(e) ) ( a22 , B(e) ) ··· ( a2m , B(e) )

.. .. .. ..
. . . .

(e) (e) (e)


( am1 , B(e) ) ( am2 , B(e) ) ··· ( amm , B(e) )

Figura 9: Matriz C (e) .

As matrizes C (1) e C (2) formam um par de quadrados latinos de ordem mn. Para vermos
(e) (e)
que estes são de fato quadrados latinos tome dois elementos em uma mesma linha, ( aij , bhk ) e
(e) (e) (e) (e) (e) (e)
( ail , bhw ). Como A(e) e B(e) são quadrados latinos, então aij 6= ail e bhk 6= bhw , provando que os
elementos nas linhas de C (e) são distintos. O mesmo vale para as colunas.

Agora, suponhamos que


(1) (1) (2) (2) (1) (1) (2) (2)
(( aij , bhk ), ( aij , bhk )) = (( a pq , bst ), ( a pq , bst ))
Assim, pela igualdade destes pares ordenados (compostos por pares ordenados) temos
(1) (2) (1) (2)
( aij , aij ) = ( a pq , a pq )

e, pela ortogonalidade de A(1) e A(2) , i = p e j = q. De forma similar obtemos que h = s e k = t,


o que mostra que C (1) e C (2) são ortogonais. 

11
Acta Legalicus • Janeiro 2020 • No. 27

A demostração do teorema acima nos dá um meio de construir estes pares ortogonais C (1)
e C (2) . Porém, este método se mostra muito trabalhoso para ser efetuado à mão, visto que por
(e)
exemplo para m = 4 e n = 3 são necessárias 16 matrizes 3 × 3 ( aij , B(e) ) (ou 9 matrizes 4 × 4, se
trocarmos m e n). Assim, decidimos aproveitar o caráter matricial desta demonstração e, utilizando
a linguagem Python, criamos o Algoritmo 2, presente no Apêndice, que executa este processo.

Portanto podemos construir pares de quadrados latinos ortogonais de ordem 2s m onde m é


ímpar e s ≥ 2. Mais que isso, fazendo a associação
(e) (e) (e) (e)
( aij , bhk ) ↔ n · aij + bhk

podemos transformar as matrizes C (1) e C (2) em quadrados latinos preenchidos agora pelos
números 0, 1, 2, . . . , mn − 1. Se escolhermos A(1) e A(2) para serem as matrizes de ordem 2s , então
por estes quadrados latinos já terem, pela nossa construção na seção anterior, suas diagonais
preenchidas por elementos distintos, também C (1) e C (2) terão as diagonais preenchidas por
elementos distintos. Ou seja, C (1) e C (2) já estão prontas para que possamos usá-las na construção
de quadrados mágicos. Continuando a linha de código do Algoritmo 2 com o que foi dito neste
parágrafo obtemos o Algoritmo 3 (vide Apêndice) que nos dá um meio de construir quadrados
mágicos de ordem n = 2s m, onde m é ímpar e s ≥ 2.
Exemplo 2.2. Utilizando o Algoritmo 3 obtemos um quadrado mágico de ordem 12 com constante 870.
[[15, 54, 93, 132, 1, 40, 79, 118, 26, 65, 104, 143],
[129, 96, 51, 18, 115, 82, 37, 4, 140, 107, 62, 29],
[60, 21, 126, 87, 46, 7,112, 73, 71, 32, 137, 98],
[90, 123, 24, 57, 76, 109, 10, 43, 101, 134, 35, 68],
[25, 64, 103, 142, 14, 53, 92, 131, 3, 42, 81, 120],
[139, 106, 61, 28, 128, 95, 50, 17, 117, 84, 39, 6],
[70, 31, 136, 97, 59, 20, 125, 86, 48, 9, 114, 75],
[100, 133, 34, 67, 89, 122, 23, 56, 78, 111, 12, 45],
[2, 41, 80, 119, 27, 66, 105, 144, 13, 52, 91, 130],
[116, 83, 38, 5, 141, 108, 63, 30, 127, 94, 49, 16],
[47, 8, 113, 74, 72, 33, 138, 99, 58, 19, 124, 85],
[77, 110, 11, 44, 102, 135, 36, 69, 88, 121, 22, 55]]
H

3. E os quadrados latinos das demais ordens?


As demais ordens compreendem os números pares n que não se escrevem como 2s m, s ≥ 2
e m ímpar, isto é, os números pares que deixam resto 2 na divisão por 4. Se seguirmos a lógica
de construção de quadrados mágicos que adotamos durante todo o texto, precisamos apenas
descobrir como encontrar um par de quadrados latinos ortogonais. Essa questão foi discutida por
Leonhard Euler (1707 - 1783) no trabalho Recherches sur une nouvelle espace de quarries magiques,
quando este propôs o chamado Problema dos 36 Oficiais:

Problema dos 36 Oficiais: Arranjar 36 oficiais, 6 de cada um dos 6 regimentos, de 6 diferentes


patentes, em um quadrado 6 × 6 de forma que cada fila e cada coluna contenha um oficial de cada
patente e um oficial de cada regimento.

12
Acta Legalicus • Janeiro 2020 • No. 27

Ou seja, o que Euler estava propondo era encontrar um par de quadrados latinos ortogonais
de ordem 6. Euler não conseguiu resolver o Problema dos 36 Oficiais e também não conseguiu
provar que o problema era impossível. Ele então fez a seguinte conjectura:

Conjectura de Euler: Não existem pares de quadrados latinos ortogonais de ordem n = 4q + 2.

O Problema dos 36 Oficiais só foi resolvido em 1901 pelo matemático francês Gaston Tarry
(1843 - 1913) que, após listar todos os 812.851.200 quadrados latinos de ordem 6, concluiu que
nenhum par era ortogonal, portanto o problema é impossível. A Conjectura de Euler ficou em
aberto por mais quase 60 anos até que R. C. Bose (1901 - 1987) e S. S. Shrikhande (1917 - )
construíram um par ortogonal de ordem 22 [3] e E. T. Parker (1926 - 1991) encontrou um par de
ordem 10 [13], ambos em 1959 e separadamente. No mesmo ano os três se juntaram e provaram
que, na verdade, n = 6 é o único caso em que a conjectura é válida, isto é, existem pares de
quadrados latinos ortogonais para todo n = 4q + 2 6= 6 [2].

Por exemplo, temos o par de quadrados latinos ortogonais de ordem 10 encontrado por Parker
na Figura 10.

0 4 1 7 2 9 8 3 6 5 0 7 8 6 9 3 5 4 1 2

8 1 5 2 7 3 9 4 0 6 6 1 7 8 0 9 4 5 2 3

9 8 2 6 3 7 4 5 1 0 5 0 2 7 8 1 9 6 3 4

5 9 8 3 0 4 7 6 2 1 9 6 1 3 7 8 2 0 4 5

7 6 9 8 4 1 5 0 3 2 3 9 0 2 4 7 8 1 5 6

6 7 0 9 8 5 2 1 4 3 8 4 9 1 3 5 7 2 6 0

3 0 7 1 9 8 6 2 5 4 7 8 5 9 2 4 6 3 0 1

1 2 3 4 5 6 0 7 8 9 4 5 6 0 1 2 3 7 8 9

2 3 4 5 6 0 1 8 9 7 1 2 3 4 5 6 0 9 7 8

4 5 6 0 1 2 3 9 7 8 2 3 4 5 6 0 1 8 9 7

Figura 10: Primeiro par de quadrados latinos ortogonais de ordem 10 exibido por Parker em [13]

Porém não podemos usar de imediato o par de quadrados latinos de Parker para construir
um quadrado mágico de ordem 10 como o da Figura11, pois suas diagonais possuem muitos
elementos repetidos e não é evidente uma troca de linhas que mantenha ortogonalidade e arrume
as diagonais para a construção.

Assim vemos que nosso método não é suficiente para englobar todas as ordens de quadrados
mágicos. Para amenizar este sentimento de incompletude, vamos para nossa última seção onde
veremos que os quadrados latinos ainda podem ser úteis para construirmos outras formas mais
elaboradas de quadrados mágicos.

13
Acta Legalicus • Janeiro 2020 • No. 27

39 60 26 22 93 68 99 80 6 12

95 36 57 28 24 97 78 9 15 66

21 92 38 59 30 76 7 13 69 100

27 23 94 40 56 10 11 67 98 79

58 29 25 91 37 14 70 96 53 8

43 49 5 81 87 64 35 51 72 18

47 3 84 90 41 20 61 32 53 74

1 82 88 44 50 71 17 63 34 55

85 86 42 48 4 52 73 19 65 31

89 45 46 2 83 33 54 75 16 62

Figura 11: Quadrado mágico de ordem 10 com constante mágica 505 construído a partir de [17].

4. Quadrados mágicos em k dimensões

4.1 Matrizes k-dimensionais


Pensemos o que é uma matriz. Seguindo [8], dados dois números naturais não nulos m e
n, uma matriz m por n é uma tabela composta por mn números reais dispostos em m linhas
e n colunas. Podemos localizar um elemento de uma matriz A sabendo em qual linha e em
qual coluna este está, daí a notação utilizada aij . São necessários então duas informações para
identificar um elemento, por isso diremos que uma matriz possui dimensão 2. As matrizes que
utilizamos nas discussões da Parte 1 eram todas quadradas (m = n), assim podemos também
visualizar a dimensão dois destas matrizes como a disposição dos números em um quadrado,
uma figura geométrica de dimensão 2.

E se quisermos dispor os números em uma tabela onde são necessárias três informações para
identificação dos elementos, ou melhor, dispor os números em um cubo? Poderíamos pensar em
algo como na Figura 12.

Identificando um elemento na matriz cúbica como a(i1 , i2 , i3 ), apontamos na figura acima


algumas posições. Estamos considerando uma matriz cúbica, isto é, todas as “arestas” da matriz
cúbica possuem o mesmo número de elementos. No caso retratado na Figura 12 temos 3 elementos
em cada aresta, logo as coordenadas variam no intervalo 1 ≤ i j ≤ 3 e diremos que esta matriz
cúbica é de ordem n = 3.

Mais geralmente, podemos definir matrizes k-dimensionais de ordem n da seguinte maneira:


Definição 4.1. Sejam k, n ∈ Z>0 . Uma matriz k-dimensional de ordem n é uma tabela composta por
nk números cujas posições são determinadas por a(i1 , . . . ik ) com 1 ≤ i j ≤ n. Denotamos

Akn = [ a(i1 , . . . ik ) | 1 ≤ i1 , . . . , ik ≤ n] = [ a(i1 , . . . ik )].

14
Acta Legalicus • Janeiro 2020 • No. 27

· · a(3, 1, 3)
· · ·
a(1, 1, 1) · ·

· · ·
· a(2, 2, 2) ·
a(1, 2, 1) · ·

· · ·
· · ·
a(1, 3, 1) · ·

Figura 12: Matriz 3-dimensional

Uma linha/coluna em Akn é definida pelo conjunto

{ a(i1 , . . . , i j−1 , x, i j+1 , . . . , ik ) | 1 ≤ x ≤ n}

onde i1 , . . . i j−1 , i j+1 , . . . , ik são fixadas. Por exemplo, na Figura 12 temos a coluna

{ a(1, 1, 1), a(1, 2, 1), a(1, 3, 1)}.

Utilizando-se métodos de contagem, vemos que existem knk−1 linhas/colunas em Akn .

Para definirmos uma diagonal em Akn vamos primeiro ver exemplos. Na Figura 12, onde
k = n = 3, temos a diagonal

{ a(1, 3, 1), a(2, 2, 2), a(3, 1, 3)} = { a( x, i2 , i3 ) | 1 ≤ x ≤ 3 e i2 = x, i3 = x } = { a( x, x, x ) | 1 ≤ x ≤ n}.

onde x = n + 1 − x. Outro exemplo seria o conjunto

{ a( x, i2 , i3 ) | 1 ≤ x ≤ n e i2 = x, i3 = x } = { a( x, x, x ) | 1 ≤ x ≤ 3}.

Assim, escolhemos se i2 será igual a x ou a x e fixamos esta escolha, depois escolhemos se i3 será
igual a x ou a x e fixamos esta escolha. Feitas e fixadas as escolhas, basta variar 1 ≤ x ≤ 3. Dessa
forma uma diagonal em Akn é definida pelo conjunto

{ a( x, i2 , . . . , ik ) | 1 ≤ x ≤ n e fixados i j = x ou i j = x para cada 1 ≤ j ≤ k}

onde x = n + 1 − x. Quando se escolhe se i j = x ou i j = x, deve-se manter esta escolha fixa em


todos os elementos da diagonal, variando apenas o valor de x no intervalo de 1 a n.

Para estas matrizes k-dimensionais fazemos a mesma pergunta que para as matrizes tradi-
cionais: será possível arranjar os números inteiros de 1 até nk nestes cubos k-dimensionais de
ordem n, cada número admitido uma única vez, de forma que todas as linhas, colunas e diagonais
somem um mesmo valor? Isto é, existem quadrados mágicos em k dimensões?

15
Acta Legalicus • Janeiro 2020 • No. 27

4.2 Você disse ... quadrados mágicos em k dimensões?


Como no caso k = 2 (os quadrados mágicos regulares), não será possível construir cubos
k-dimensionais de ordem n = 2 com as propriedades de quadrado mágico. Porém, para qual-
quer outra ordem n ≥ 3 e qualquer dimensão k ≥ 2 existe um quadrado mágico k-dimensional
de ordem n. A prova geral foi elaborada por Marián Trenkler (1948 - ) no final da década de
90 do século XX e está dividida em três casos: para n ímpar, para n par múltiplo de 4 [16] e
para n par não múltiplo de 4 [17], quase como dividimos nossas construções nas seções anteri-
ores. A prova em [17] continha alguns pontos que estavam incorretos e que foram corrigidos
pelos autor deste texto e seu orientador Prof. Dr. João Nivaldo Tomazella, que se basearam em [18].

Para fecharmos, vamos apresentar no teorema a seguir a definição de um quadrado mágico


k-dimensional de ordem n ímpar, fazendo em seguida alguns comentários sobre a mesma.

Teorema 4.2. A matriz Mkn = [m(i1 , . . . , ik )] de ordem n ímpar descrita por

k −1 h i
m ( i1 , . . . , i k ) = ∑ m l ( i1 , . . . , i k ) n l + 1
l =0

onde
" #
l k
m l ( i1 , . . . , i k ) = ∑ (−1) x −1
i x + (−1) l
∑ i x + Cl (mod n) e
x =1 x = l +1

n+1
Cl = (−1)l +1 [k − l − (l + 1)(mod 2)] −1
2
é um quadrado mágico k-dimensional de ordem n ímpar

O que os somatórios em ml (i1 , . . . , ik ) fazem é relacionar os índices das posições, utilizando


a soma em Zn (mod n) de modo que cada matriz [ml (i1 , . . . , ik )] seja um quadrado latino de
dimensão k. Estes têm a propriedade de serem ortogonais entre si. A constante Cl é escolhida de
n −1
forma que ml ( n+ 1 n +1 n +1
2 , 2 , . . . , 2 ) = 2 para todo 0 ≤ l ≤ k − 1, semelhante com o que fizemos
nas diagonais do quadrado latino de ordem n ímpar. Assim, o teorema generaliza para matrizes
k-dimensionais a construção que fizemos a partir dos grupos.

3 13 26
23 9 10
16 20 6

17 21 4
1 14 27
24 7 11

22 8 12
18 19 5
2 15 25

Figura 13: Quadrado mágico em 3 dimensões de ordem 3 com constante C33 = 42.

16
Acta Legalicus • Janeiro 2020 • No. 27

Para mostrar que a matriz Mnk definida desta forma é de fato um quadrado mágico k-
dimensional é preciso verificar os seguintes quatro itens:
n o
• Cada elemento de Mkn pertence a 1, . . . , nk ;

• Todos os elementos m(i1 , . . . , ik ) de Mkn são distintos;

• Todas as linhas/colunas somam o mesmo valor;

• As diagonais somam o mesmo valor das linhas/colunas.

As verificações dos pontos acima são técnicas e longas. Vamos verificar aqui apenas que cada
elemento está no conjunto citado e que as linhas/colunas somam o mesmo valor.

Como ml (i1 , . . . , ik ) pertence a um quadrado latino k-dimensional então ele é tal que 0 ≤
ml (i1 , . . . , ik ) ≤ n − 1. Multiplicando essa desigualdade por nl , estritamente positivo, temos que
0 ≤ ml (i1 , . . . , ik )nl ≤ (n − 1)nl . Tomemos agora

k −1
∑ m l ( i 1 , . . . , i k ) n l = m 0 ( i 1 , . . . , i k ) + . . . + m k −1 ( i 1 , . . . , i k ) n k −1
l =0

Como ml (i1 , . . . , ik )nl ≤ (n − 1)nl e por 0 ≤ l ≤ p − 1, observamos que

m k −1 ( i 1 , . . . , i k ) n k −1 ≤ ( n − 1 ) n k −1 = n k − n k −1
m k −2 ( i 1 , . . . , i k ) n k −2 ≤ ( n − 1 ) n k −2 = n k −1 − n k −2
..
.
m1 ( i1 , . . . , i k ) n ≤ ( n − 1) n = n2 − n
m0 ( i1 , . . . , i k ) n0 ≤ ( n − 1) n0 = n − 1

Somando membro a membro, vemos um cancelamento de fatores. Portanto


k −1
0≤ ∑ m l ( i1 , . . . , i k ) n l ≤ n k − 1
l =0

Adicionando 1, fechamos a primeira parte da prova, pois

k −1 h i
∑ ml (i1 , . . . , ik )nl + 1 = m(i1 , . . . , ik ) e então segue que 1 ≤ m(i1 , . . . , ik ) ≤ nk .
l =0

Agora consideremos o conjunto

Sl0 = {ml (i1 . . . , i j−1 , i j , i j+1 , . . . , ik ) : i j = 1, . . . , n} para 0 ≤ l ≤ k − 1.

Esse conjunto é formado pelos elementos de uma determinada linha/coluna da matriz


[ml (i1 . . . , ik )]. Fixando todas as outras coordenadas, variamos i j e, dessa forma, procuramos
os elementos da linha/coluna. Como ml (i1 , . . . , ik ) é um número entre 0 e n − 1 (devido ao mod n),

17
Acta Legalicus • Janeiro 2020 • No. 27

o conjunto Sl0 equivale, para cada l, a {0, 1, 2, . . . , n − 1}.

Portanto
n
n ( n − 1)
∑ m l ( i1 , . . . , i k ) = 2
, para todo 1 ≤ j ≤ k.
i j =1

Temos então que em cada linha e coluna


" #
n n k −1 h i
∑ m ( i1 , . . . , i k ) = ∑ ∑ m l ( i1 , . . . , i p ) n l
+1 =
i j =1 i j =1 l =0
 
k −1 n n k −1 
n ( n − 1) l
h i 
∑  ∑ m l ( i1 , . . . , i k ) n l  + ∑ 1= ∑ 2
· n + n.
l =0 i j =1 i j =1 l =0

Observemos que esse somatório pode ser separado em partes, isto é,


k −1 
n ( n − 1) l n(n − 1)(1 + n + · · · + nk−1 ) n ( n k − 1)

∑ 2
· n =
2
=
2
.
l =0

Segue por fim que

k −1 
n ( n − 1) l n ( n k − 1) nk+1 − n − 2n n ( n k + 1)

∑ 2
·n +n =
2
+n =
2
=
2
,
l =0
que é a fórmula da constante mágica no caso k-dimensional.

Figura 14: Quadrado mágico em 4 dimensões de ordem 3 com constante C34 = 123 [19].

18
Acta Legalicus • Janeiro 2020 • No. 27

Concluindo, onde então habitam estas matrizes fantásticas? Onde podemos encontrá-las? Bom,
após todas essas páginas, tudo nos leva a crer que estas matrizes fantásticas se encontram em
algum lugar entre o misticismo e a Álgebra, entre a Arte e os algoritmos, entre o lúdico e a Teoria
dos Números, entre os grupos e os corpos, entre as conjecturas e as impossibilidades, ou até
perdidas em outras dimensões!

Referências
[1] ANDRADE, L. N. de. Mais sobre quadrados mágicos. Rio de Janeiro: RPM, v.41. Disponível
em: <http://www.rpm.org.br/cdrpm/41/3.htm>. Acesso em: 26 ago. 2019.

[2] BOSE, R. C.; SHRIKHANDE, S. S.; PARKER, E.T. Further results on the construction of
mutually orthogonal Lain squares and the falsity of Euler’s conjecture. Canadian Journal of
Mathematics, Canadá, v. 12, p. 189 - 203, ago. 1959.

[3] BOSE, R. C.; SHRIKHANDE, S. S. On the Falsity of Euler’s Conjecture About the Non-
existence of Two Orthogonal Latin Squares of Order 4t + 2, Proceedings of the National
Academy of Science, Estados Unidos, v. 45, p. 734 - 737, mar. 1959.

[4] CAETANO; SAMPAIO. Introdução à Teoria dos Números, São Carlos: EdUFSCar, 2008. 109
p.

[5] COMES, R. The Transmission of Azarquiel’s Magic Squares in Latin Europe. In: WALLIS,
F.; WISNOVSKY, R. Medieval Textual Cultures: Agents of Transmission, Translation and
Transformation. Alemanha: Walter de Gruyter GmbH, 2016. p. 159 - 199.

[6] EULER, L. Recherches sur une nouvelle espace de quarries magiques. Verh. Genoolsch. der
wet. Vlissingen v.9, p. 85 - 239, 1782.

[7] FRALEIGH, J. B. A first course in abstract algebra. 7. ed. Londres: Pearson, 2002. 590 p.

[8] HAZZAN, S.; IEZZI, G. Fundamentos de Matemática elementar: sequências, matrizes,


determinantes, sistemas. 2. ed. São Paulo: Atual, 1977. 228 p. (Fundamentos de Matemática
elementar).

[9] Internet Archive. Practica arithmetice, et mensurandi singularis / [Girolamo Cardano].


Disponível em: <https://archive.org/details/hin-wel-all-00000134-001>. Acesso em: 26 ago.
2019.

[10] LEE, E.; LEUNG, D. K. S.; LI, K. L.; SO, A. T. P. Luo Shu: Ancient Chinese Magic Square on
Linear Algebra, SAGE Open, v. 5 p. 1 - 12, 2015.

[11] MACNEISH, H. F. Euler Squares, Annals of Mathematics, v. 23, p. 221 - 227, 1922.

[12] PETROVIC, M. S. Famous puzzles of great mathematicians. Providence: AMS, 2009. 325 p.

[13] PARKER, T. Orthogonal Latin squares, Proc. of t he National Academy of Sciences , v.45, p.
859 - 862, 1959.

19
Acta Legalicus • Janeiro 2020 • No. 27

[14] STEWART, I. Galois Theory. 4. ed. Londres: CRC Press, 2015. 314 p.

[15] TARRY, G. Le problème des 36 officiers, C.R. Assoc. France Av. Sci., v. 29 parte 2, p. 170 -
203, 1900.

[16] TRENKLER, M. Magic p-dimensional cubes of order n 6≡ 2 (mod 4), Acta Arith., v.92, p. 189 -
194, 2001.

[17] TRENKLER, M. Magic p-dimensional cubes, Acta Arith., v. 96, p. 361 - 364, 2001.

[18] TRENKLER, M. An algorithm for Magic Tesseracts, Scientific Bulletin of Chelm , p. 249 -
251, 2006.

[19] Wolfram MathWorld. Magic Tesseract. Disponível em: <http://mathworld.wolfram.com/


MagicTesseract.html>. Acesso em: 26 ago. 2019.

20
Acta Legalicus • Janeiro 2020 • No. 27

5. Apêndice

Algoritmo 2 Dado um par de quadrados latinos ortogonais de ordem m e um


par de quadrados latinos de ordem n, o algoritmo retorna um par de quadrados
latinos ortogonais de ordem mn.

# par ortogonal de ordem 4


LA1 = [[0,1,2,3],[2,3,0,1],[3,2,1,0],[1,0,3,2]]
LA2 = [[0,1,2,3],[3,2,1,0],[1,0,3,2],[2,3,0,1]]

# par ortogonal de ordem 3


LB1 = [[2,0,1],[0,1,2],[1,2,0]]
LB2=[[1,0,2],[2,1,0],[0,2,1]]

# par ortogonal de ordem 5


#LB1 = [[4,1,0,3,2],[1,0,3,2,4],[0,3,2,4,1],[3,2,4,1,0],[2,4,1,0,3]]
#LB2 = [[2,0,3,4,1],[1,2,0,3,4],[4,1,2,0,3],[3,4,1,2,0],[0,3,4,1,2]]

# par ortogonal de ordem 7


#LB1 = [[6,1,2,0,4,5,3],[1,2,0,4,5,3,6],[2,0,4,5,3,6,1],
[0,4,5,3,6,1,2],[4,5,3,6,1,2,0],[5,3,6,1,2,0,4],[3,6,1,2,0,4,5]]
#LB2 = [[3,0,5,4,6,2,1],[1,3,0,5,4,6,2],[2,1,3,0,5,4,6],
[6,2,1,3,0,5,4],[4,6,2,1,3,0,5],[5,4,6,2,1,3,0],[0,5,4,6,2,1,3]]

m = len(LA1)
n = len(LB2)

Auxiliar = [ ]
Auxiliar2 = [ ]
for i in range(0, m, 1):
for j in range(0, m, 1):
Auxiliar = Auxiliar + [0]
Auxiliar2 = Auxiliar2 + [Auxiliar]
Auxiliar = []

for g in range(0,m,1):
for h in range(0,m,1):
A1B1 = []

for i in range(0, n, 1):


for j in range(0, n, 1):
Auxiliar = Auxiliar + [0]

21
Acta Legalicus • Janeiro 2020 • No. 27

A1B1 = A1B1 + [Auxiliar]


Auxiliar = []

for i in range(0,n,1):
for j in range(0,n,1):
A1B1[i][j] = [LA1[g][h], LB1[i][j]]
Auxiliar2[g][h] = A1B1

Auxiliar3 = []
for i in range(0, m, 1):
for j in range(0, m, 1):
Auxiliar = Auxiliar + [0]
Auxiliar3 = Auxiliar3 + [Auxiliar]
Auxiliar = []

for g in range(0,m,1):
for h in range(0,m,1):
A2B2 = []

for i in range(0, n, 1):


for j in range(0, n, 1):
Auxiliar = Auxiliar + [0]
A2B2 = A2B2 + [Auxiliar]
Auxiliar = []

for i in range(0,n,1):
for j in range(0,n,1):
A2B2[i][j] = [LA2[g][h], LB2[i][j]]
Auxiliar3[g][h] = A2B2

C1=[]
for i in range(0, n*m, 1):
for j in range(0, n*m, 1):
Auxiliar = Auxiliar + [0]
C1 = C1 + [Auxiliar]
Auxiliar = []

for v in range(0,n,1):
for u in range(0,n,1):
for i in range(0,m,1):
for j in range(0,m,1):

22
Acta Legalicus • Janeiro 2020 • No. 27

C1[i+u*m][j+v*m]=Auxiliar2[i][j][u][v]

C2=[]
for i in range(0, n*m, 1):
for j in range(0, n*m, 1):
Auxiliar = Auxiliar + [0]
C2 = C2 + [Auxiliar]
Auxiliar = []

for v in range(0,n,1):
for u in range(0,n,1):
for i in range(0,m,1):
for j in range(0,m,1):
C2[i+u*m][j+v*m]=Auxiliar3[i][j][u][v]

Algoritmo 3 Complemento do algoritmo anterior. Dado um par de quadrados


latinos ortogonais de ordem n com diagonais ajeitadas e um par de quadrados
latinos ortogonais de ordem m com diagonais ajeitadas, o algoritmo retorna um
quadrado mágico de ordem nm.
for i in range(0,m*n,1):
for j in range(0,m*n,1):
a = n*C1[i][j][0]+C1[i][j][1]
C1[i][j]=a

for i in range(0,m*n,1):
for j in range(0,m*n,1):
a = n*C2[i][j][0]+C2[i][j][1]
C2[i][j]=a

Matriz = []
Auxiliar = []
for i in range(0, m*n, 1):
for j in range(0, m*n, 1):
Auxiliar = Auxiliar + [0]
Matriz = Matriz + [Auxiliar]
Auxiliar = []

23
Acta Legalicus • Janeiro 2020 • No. 27

for i in range(0, m*n, 1):


for j in range(0, m*n, 1):
Matriz[i][j] = C1[i][j] + m*n * C2[i][j] + 1

print(Matriz)

24

Você também pode gostar