Los cuadrados mágicos de Nārāyaṇa

El desarrollo de bonitos algoritmos

Piste bleue Le 15 décembre 2018  - Ecrit par  Gautami Bhowmik
Le 1er mars 2019  - Traduit par  Andrés Navas
Article original : Les carrés magiques de Nārāyaṇa Voir les commentaires
Lire l'article en  

Explicamos aquí el "método de los saltos de caballo’’ (de ajedrez) que permite ir colocando cada elemento en una línea, columna y diagonal distinta a la anterior en un tablero, de modo de producir cuadrados mágicos 4x4 en los cuales las sumas de las diagonales quebradas son iguales. Este artículo trata de historia de las matemáticas, aunque puede ser utilizado en clase como actividad en un aula de informática en la cual se deba interpretar un algoritmo.

Un cuadrado mágico numérico es un arreglo de números en un tablero cuadrado de tal modo que la suma de los números de cada fila, los de cada columna y los de las dos diagonales principales sean iguales. A continuación presentamos un cuadrado mágico de orden 3 con cifras de 1 a 9 y suma 15.

8 3 4
1 5 9
6 7 2

Los cuadrados mágicos de órdenes y cifras variables son conocidos desde hace al menos dos milenios en diversas civilizaciones y han sido símbolos filosóficos y talismanes importantes en contextos como la alquimia, la medicina ancestral, la astrología y la adivinación.

Un poco de historia

La primera evidencia escrita pareciera datar del siglo I y venir de China. Ella representa un cuadrado de tres cifras por cada lado. Con el curso de los siglos aparecieron cuadrados en el mundo árabe, chino, hindú y occidental. Entre los ejemplos conocidos mencionamos el grabado, acompañado de una frase deseando una victoria de un príncipe, en un templo célebre de Khajuraho, el cual se halla ubicado en el actual estado de Madhya Pradesh de la India.

Figura 1 : templo Pārśvanātha que data de los alrededores del siglo XI.

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

Se encuentran ejemplos de usos similares de cuadrados mágicos en culturas geográficamente alejadas. En el Siddhayoga, uno de los compendios más antiguos escritos en sánscrito sobre ayuverda (medicina tradicional) y que data del siglo IX, Vṛnda receta tableros eutócicos construidos con números tales como los del diagrama de abajo, para los que la suma asociada es 30 :

16 6 8
2 10 18
12 14 4

Se mencionan también otros rituales, como el recitado de mantras para apoyar a las mujeres en el trabajo. Los cuadrados aparecen también en un ámbito obstétrico en textos de medicina árabes como el Firdaus al-ḥikma de Alī al-Tabarī, los que datan de la misma época. En De Occultâ Philosophiâ de Agrippa von Nettesheim, el cual data del siglo XVI, otro cuadrado mágico, grabado en plomo, representa a Saturno, y tiene un uso similar.

Un cuadrado no numérico, de origen romano y muy popularizado en el occidente durante el medioevo, contiene el palíndromo “sator arepo tenet opera rotas”, y ha sido asociado al alumbramiento.

De entre las apariciones más antiguas en textos podemos destacar que, en 1987, Takao Hayashi reconstituyó un cuadrado mágico de 16 celdas
que corresponden a fórmulas de perfumes de 16 substancias con las proporciones prescritas en el Bṛhatsaṃhitā, una obra enciclopédica escrita por Varāhamihira en el siglo VI.

Continuando con ejemplos notables en textos sánscritos, podemos citar los manuscritos tántricos que contienen diagramas numéricos, como el célebre Śivatāṇḍava. En él se halla un diálogo entre Śiva y Pārvatī sobre las virtudes del yantraṃ pañcadaśākhyam (diagrama de suma 15), que hace que el hombre ’’triunfe ante todo’’ (sarvavajayin).

Considerando su existencia desde hace tanto tiempo, es muy probable que los métodos de construcción de los diagramas hayan sido conocidos y transmitidos oralmente mucho antes de su aparición en forma escrita. En efecto, un tratamiento matemático de estas figuras solo aparece en torno al siglo XIII en textos sánscritos o árabes y aún después en Europa. De acuerdo a algunos antropólogos, una de las razones de la no difusión de los algoritmos para generar tales objetos sagrados podría venir de reticencias de los encargados de los rituales.

Es interesante notar que los textos orientales no utilizan la expresión ’’cuadrado mágico’’, la cual es una denominación occidental que podría ser debida a Loubère, quien en su obra Le problème des quarrés magiques selon les Indiens del siglo XVII señala :

Se llama a este Problema los cuadrados mágicos porque Agrippa en su segundo libro De Occultâ Philosophiâ, cap. 22, nos enseña que se los utilizaba como talismanes... habiéndoles parecidos tan maravillosos al público ignorante, se les atribuye su invención a espíritus superiores al hombre.

Entre los primeros textos matemáticos conocidos sobre el tema, mencionemos particularmente el Gaṇitakaumudī (Clarificaciones de Matemáticas), escrito por Nārāyaṇa en 1356, cuyo último capítulo está enteramente dedicado al asunto. Si bien el autor proviene de una tradición ligada a la aritmética y la geometría (pāṭīgaṇita) desarrollada principalmente por Śrīdhara en el siglo VIII, Mahāvīra y Śrīpati en el siglo IX y Bhāskara en el siglo XII, el Gaṇitakaumudī es el único texto en sánscrito que trata los cuadrados mágicos como objetos matemáticos.

Sin embargo, en otro texto matemático —el Gaṇitasārakaumudī—, escrito a principios del siglo XIV en prácrito (una lengua coloquial derivada del sánscrito clásico, religioso y sagrado), el autor, Ṭhakkura Pherū, discute los cuadrados brevemente, sin dar un algoritmo.

La motivación de Nārāyaṇa, esplicada en los dos primeros versos del capítulo, es puramente matemática ; el autor se sumerge en

esas buenas matemáticas, ligadas a las secuencias... para sorprender a los buenos matemáticos, agradar a quienes conocen los diagramas y alejar la arrogancia de los malos matemáticos.

Él definió términos técnicos y describió varios métodos de construcción de bhadra (cuadrado mágico ’’propicio’’), especialmente de 16 casillas, sin insistir sobre los cuadrados de 9 elementos.

El caballo en los cuadrados 4x4

Desarrollo ahora un poco el notable método de saltos de caballo de ajedrez para generar cuadrados mágicos de orden 4. Señalemos que el lenguaje del ajedrez también ha sido usado para el llenado de cuadrados mágicos árabes (ver por ejemplo el Chabrāmallisī) : los movimientos del caballero (faras), así como el de la dama (firzān), que pasa en diagonal a la casilla vecina, y del alfil (fīl), que se desplaza dos casillas en diagonal. Sin embargo, ignoro si la construcción explícita y el conteo de Nārāyaṇa se encuentran en algún texto árabe.

Todo el algoritmo es dado en un śloka [1] (estrofa), y como sucede a menudo con las sūtra (reglas), ellas son condensadas en versos destinados a ser memorizados. A primera vista, la descripción resulta enigmática :

Coloque dos a dos los números obtenidos de una sucesión, utilizando los movimientos de un caballero del juego de ajedrez, en orden descendente y ascendente, y dos [otros] en las casillas unidas y las casillas distanciadas de un lugar, [o entonces] hay que llenar las celdas por movimientos de caballo a derecha e izquierda.

De hecho, este algoritmo genera todos los cuadrados mágicos pandiagonales de orden 4, es decir, aquellos para los que las sumas de las diagonales quebradas siguen siendo iguales a la suma asociada al cuadrado al ser llenados con una sucesión de números en progresión aritmética dada.

Las sumas de los números de las casillas en una línea horizontal, en una vertical, o en una diagonal cualquiera, debe ser todas iguales.

El autor no utiliza ninguna palabra especial para ’’pandiagonal’’ para su algoritmo, sino que la forma karṇa-gānāṃ (genitivo plural) en lugar de gayoḥ (dúo) para referirse claramente a más de dos diagonales.

Les ejemplos y la enumeración que siguen son totalmente coherentes. El algoritmo no requiere cálculo alguno, y puede ser aplicado mecánicamente. Por lo mismo, merece ser bien decodificado y comentado de acuerdo a la terminología actual [2].

Para comenzar, se debe entender que un cuadrado se replica (o identifica) a sí mismo como un toro : se hace coincidir los bordes izquierdo y derecho como en la Figura 2 (a), así como los de arriba y abajo como en la Figura 2 (b). De esta forma, dos movimientos horizontales sucesivos en la misma dirección son equivalentes, sin importar si estos se efectúan hacia la izquierda o derecha. Denotaremos esto por
𝓱=$\leftarrow\leftarrow$=$\rightarrow\rightarrow$. De la misma forma, pero esta vez en dirección vertical, usaremos la notación 𝓿=$\downarrow\above 0pt\downarrow$=$\uparrow\above 0pt\uparrow$.

Un caballero (o caballo) puede desplazarse de dos maneras distintas, las cuales son equivalentes por rotación de un cuarto vuelta :

  1. Desde una posición se desplaza una celda verticalmente y dos horizontalmente ; esto se puede efectuar de forma ascendente $\color{green} A$ $={\color{green}{\ \ \ \rightarrow\rightarrow }}\above 0pt{\color{green}{\uparrow}}$ o descendente $\color{magenta} D=$ ${\color{magenta}{\downarrow\phantom{\rightarrow\rightarrow}}}\above 0pt{\color{magenta}{\rightarrow\rightarrow}}$ (Figura 2 (a)).
  1. Desplazamiento horizontal de una casilla y de dos verticales, indicadas en azul $\color{blue} R=$ ${\color{blue}{\rightarrow\downarrow }}\above 0pt{\color{blue}{\phantom{\rightarrow}\downarrow}}$ o rojo $\color{red}L=$ ${\color{red}{\downarrow\leftarrow}}\above 0pt{\color{red}{\downarrow\phantom{\leftarrow}}}$ (rectus o laevus) en la Figura 2 (b) .

Gracias a la identificación de los bordes, la dirección en que se efectúan dos movimientos no es relevante. Se debe observar que un cuadrado mágico pandiagonal se construye a partir de un único tipo de salto de caballo, sea este
$A, D, L$ o $R$ : una vez que se empezó, los movimientos continúan siempre en la misma dirección.

Figura 2

Figura 2

El algoritmo decriptado

Usaremos la secuencia genérica $1,2,\ldots,16$, si bien es posible utilizar cualquier otra progresión aritmética de 16 términos. Para describir el llenado, dividimos esta en los cuatro cuartos (pada) : $\{1,2,3,4\}$,..., $\{13,14,15,16\}$. Una vez descritos los movimientos asociados a los números del cuarteto $\{1,2,3,4\}$, los de los otros seguirán el mismo principio, a condición que se evite una casilla ya llenada, y que $1$, $5$, $9$ y $13$ se ubiquen en filas y columnas distintas.

Describamos ahora las posibilidades para el primer cuadrado según el algoritmo de Nārāyaṇa. Entre $1$ y $2$ debe haber un salto de caballo, lo mismo que entre $3$ y $4$. El movimiento entre $2$ y $3$ será de otro tipo, que llamaremos ’’no-caballeresco’’. Este se ejecutará en la misma dirección que el del caballo y será ya sea hacia las casillas unidas en diagonal o bien a dos casillas de distancia en dirección horizontal o vertical (esto último corresponde a movimientos 𝓱 o 𝓿).

Para los movimientos no caballerescos en diagonal, denotemos $\alpha, \delta, \rho, \lambda$ las direcciones ascendente, descendente, a izquierda y a derecha, respectivamente. Así, el movimiento en diagonal queda determinado por el tipo de salto de caballo y una de estas cuatro direcciones ; para cada salto existen dos posibilidades.

Estos movimientos permiten colocar los elementos del cada cuarto en filas y columnas diferentes, aumentando a cada paso una unidad en la dirección en la cual se progresa. Además, el tercer y el último cuartos deben ser ubicados de modo inverso, de tal suerte a equilibrar las sumas.

Observemos que cada llenado se compone de dos cuartos que se mueven en la misma dirección y de otro dos que se mueven en la dirección inversa (por ejemplo, dos ascendentes y dos descendentes). Las variaciones se dan en los movimientos no-caballerezcos. Los movimientos no caballerescos 𝓱 o 𝓿 son especiales : en este caso, es a lo largo de los cuartos $\{1,3, 5,7\}, \{ 2, 4, 6, 8\}, \{ 9, 11, 13, 15\}$ y $\{ 10, 12, 14, 16\}$ que el caballo mantiene el mismo tipo de movimiento.

Un punto crucial es que a lo largo del llenado del tablero con las ocho primeras cifras, nunca se debe llenar una casilla cuya opuesta ya ha sido llenada. La opuesta de una casilla es la que queda dando dos movimientos en diagonal ; en cierto sentido, es la casilla más alejada de la considerada.

A modo de ejemplo concreto, analicemos cómo el cuadrado mágico de Khajuraho se construye con el método de Nārāyaṇa.

El cuadrado mágico de Khajuraho

En este ejemplo, fijamos arbitrariamente la casilla de partida como la de la línea 1 y columna 3, y escogemos la dirección descendente $D$ para el primer movimiento del caballo. De acuerdo al algoritmo, los movimientos de etapa deben seguir el mismo sentido que los del primer movimiento, en este caso descendente.

Como la caminata del caballero $ D$ parte de la célula con la cifra 1, esto determina dónde colocar la cifra 2.

El desplazamiento entre 2 y 3 debe igualmente ser descendente, y habrá tres elecciones posibles : en las dos diagonales descendentes $\lambda$ y $\rho$ en una casilla, o bien verticalmente en dos casillas 𝓿. Elegimos la diagonal derecha $\rho$.

1
2↘︎
3$_{\rho}$ $3_λ$
$3_𝓿$

Posteriormente, el caballero, siempre descendiendo, debe partir de 3 para llegar a 4 sin elección posible : debe ser un movimiento $D$.

La primera etapa queda por lo tanto descrita por $D\rho D$.

El segundo cuarto comenzará entonces en una celda adyacente a la última del primer cuarto. Así, para la cifra 5 hay dos posibilidades : ascendente=a o a derecha=r, pues no se lo puede colocar en la misma o la misma columna que 1.

Este desplazamiento entre etapas tiene por finalidad mantener la suma constante a lo largo de filas y columnas. En la construcción del cuadrado mágico de Khajuraho elegimos un paso ascendente para 5.

1
2
3 $5_a$
$5_r$ 4

Habiendo fijado el desplazamiento entre etapas por medio del posicionamiento de 5, el segundo cuarto, es decir el de las cifras 5, 6, 7 y 8, seguirá obligatoriamente el sentido descendente como el primer cuarto. Sin embargo, el paso no-caballeresco, aquel entre 6 y 7, será elegido a izquierda $\lambda$. El llenado de la mitad del cuadrado queda así codificado por
los movimientos $D\rho D\ a \ D\lambda D.$

La segunda parte del llenado es automática : por cada número de la primera mitad, se debe colocar su complemento para llegar a 17 en la casilla obtenida por el movimiento 𝓱𝓿, es decir, dos desplazamientos horizontales y dos verticales. Esto garantizará la suma constante a lo largo de las 6 diagonales quebradas suplementarias.

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

La codificación sigue entonces el proceso en el sentido inverso, esto es, $A\rho A$ para el tercer cuarto, $d$ para el movimiento no-caballerezco, y luego $A\lambda A$.

La condición de suma igual a 17 en casillas complementarias implica que el cuadrado obtenido es pandiagonal. Por ejemplo, se verifica que
$(16+6)+(1+11)=(16+1)+(6+11)=34$, etc.

Otro ejemplo : el cuadrado de al-Būnī

Otro cuadrado mágico pandiagonal árabe, el cual data del siglo XIII y es debido a al-Būnī, es el siguiente :

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

Este se construye colocando un $1$ en la casilla superior derecha para luego seguir el camino $D\lambda D$ para el primer cuarto, y $\ell$ para ubicar el $5$. Las tres etapas siguientes son entonces $A\lambda A,\ D\rho D,\ r \ A\rho A$. Este cuadrado puede ser obtenido por una rotación de 90 grados de aquellos construidos por Hayashi, generados por la fórmula que comienza por $L\alpha L a$, con el rincón inferior derecho como casilla de partida.

Conteo : ¿cuántos hay ?

Nārāyaṇa plantea una pregunta aritmética que no ha sido hallada en ningún otro texto de la época : ¿cuántos cuadrados mágicos pandiagonales de orden 4, llenados con las cifras $1,2,\ldots,16$, pueden ser obtenidos ? Para aventurar una respuesta a esta pregunta se requiere tener un dominio completo de todas las elecciones realizadas a lo largo de la ejecución del algoritmo.

Fijados la casilla para el $1$ así como el primer movimiento de caballo, hay tres opciones para decidir el movimiento no-caballeresco y dos para la transición. Por lo tanto, para cada marcha del caballo hay seis posibilidades de llenado del cuadrado.

Comencemos, por ejemplo, con el movimiento descendente del caballo, como fue el caso de los ejemplos de arriba.

Figura 3 : primer paso del caballo descendente.

Se trata de uno de los cuatro posibles casos de movimiento de partida. Concluimos entonces que las posibilidades totales, comenzando en una casilla prestablecida, es igual a 24.

En Gaṇitakaumudī, este resultado final es enunciado como una regla, y las 24 posibilidades de llenado con los números del $1$ al $16$, con $1$ en la esquina superior izquierda, son explícitamente ilustradas.

Figura 4 : las 24 posibilidades, Manuscrito 104595, Sarasvatī Bhavan, Vārāṇasi.

Finalmente, observando que cualquier célula puede ser la casilla de partida, el número total de cuadrados mágicos pandiagonales con enteros del $1$ al $16$ deviene $24\times 16=384$, número que justamente se halla en el texto catur-aśīty-adhika-śata-traya .

La combinatoria de los cuadrados mágicos de orden superior a 4 se hace muchísimo más complicada. El número de cuadrados pandiagonales de orden 5 es 28800, y aún no es conocido para órdenes superiores a 6. La caminata del caballo no genera todos los cuadrados mágicos pandiagonales de orden superior.

Adjunto hallarás una demostración (en inglés) de que el algoritmo de Nārāyaṇa funciona, que genera cuadrados mágicos pandiagonales, y que todos ellos aparecen.

Post-scriptum :

Agradezco a Agathe Keller por su apoyo científico durante este proyecto y a Christophe Boilley, Annick Boisseau, Marc Bourdon y Bruno Brive por sus relecturas del texto.

Article original édité par Christian Mercat

Notes

[1GK.14.10.11-a caturaṅgaturagagatyā dvau dvau śreḍhīsamudbhavāv aṅkau/
nyasya kramotkrameṇa ca koṣṭhaikyaikāntareṇa ca
tau/ savyāsavyaturaṅgamarītyā koṣṭhān prapūrayed aṅkaiḥ/

[2Para los detalles del algoritmo y referencias puede contactar a la autora.

Partager cet article

Pour citer cet article :

Andrés Navas — «Los cuadrados mágicos de Nārāyaṇa» — Images des Mathématiques, CNRS, 2019

Commentaire sur l'article

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?