sigma 32 - Euskadi.eus

Anuncio
SIGMA
32
EN BUSCA DEL ARCA PERDIDA
Rafael Losada Liste (*)
INTRODUCCIÓN: ESE LUGAR LLAMADO DESCONOCIMIENTO HUMANO
En Matemáticas aparecen con relativa frecuencia ciertos objetos o relaciones entre objetos
cuya existencia es un misterio. Por una parte, nadie ha demostrado hasta el momento su imposibilidad de existencia. Por otra, nadie "los ha visto".
Fue uno de estos objetos el que llamó mi atención en un momento determinado. Me encontraba curioseando por el universo matemático, navegando entre páginas de Internet, cuando
desembarqué en una que recogía algunas conjeturas todavía sin demostrar. De algunas de
ellas ya conocía su historia y, de paso, reconocía la extrema dificultad de su estudio (al tiempo
que la engañosa sencillez de su enunciado). Pero hubo una conjetura que atrajo fuertemente
mi atención porque desconocía su historia, es decir, ignoraba qué insondable abismo debía
contener para que los esfuerzos realizados por demostrarla se precipitasen en él.
Se trata de una simple caja. Tal vez la caja soñada por algún pitagórico, pues todas sus medidas
principales resultan ser números naturales.
El gato de Schrödinger
En cierto sentido, recuerda a la paradoja del gato de Schrödinger, también encerrado en una
caja, de la mecánica cuántica. Mientras no abramos la caja, el gato se encuentra en un estado
indeterminado, entre vivo y muerto. Aquí sucede algo similar. Mientras no demostremos la
existencia o inexistencia de esta caja, permanece en un limbo indeterminado, en algún lugar
de la esfera del "desconocimiento humano".
(*) Profesor de matemáticas del IES de Pravia (Asturias).
Noviembre 2008 • 2008ko Azaroa
85
Rafael Losada Liste
También recuerda a la paradoja "verzul" de Nelson Goodman, ejemplificada en la supuesta propiedad de ciertos objetos de ser verdes hasta determinada fecha futura (pongamos el 2 de febrero del año
2222), y azules a partir de ella. ¿Son las esmeraldas, por ejemplo, verzules? En el caso de la caja, hasta
la fecha su existencia es ignorada. ¿Saldrá de su limbo, en una fecha futura, esa caja pitagórica?
Este artículo recrea un viaje en busca del abismo de esta pitagórica caja cuántica o verzul, esta
arca perdida en algún lugar de nuestro desconocimiento, y describe las cosas interesantes que
me encontré en el camino.
EL BRICK DE EULER
Conjetura: No existe la "caja perfecta".
Eso sí que es un enunciado breve. Cinco palabras. Ahora tendré que averiguar a qué se refiere.
Una caja perfecta, también llamada cuboide perfecto, es un brick de Euler... Eh, un momento,
¿qué es eso de un "brick de Euler"?
L. Euler
Se conoce como brick de Euler a cualquier cuboide (también llamado prisma rectangular u ortoedro;
una caja, vamos) en donde las aristas y las diagonales de las caras son números naturales.
El brik
86
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
Basta un vistazo al brick para darse cuenta que las relaciones existentes entre diagonales y
aristas se pueden fácilmente traducir a ecuaciones haciendo entrar en escena a uno de los
teoremas más famosos de todos los tiempos.
Teorema de Pitágoras. Dado un triángulo rectángulo, el cuadrado de la hipotenusa es igual a
la suma de los cuadrados de los catetos.
Por lo tanto, algebraicamente, las aristas y diagonales de un brick de Euler deben ser solución
del siguiente sistema de ecuaciones diofánticas (se buscan sólo las soluciones naturales) de
segundo grado:
Existen infinitas cajas con estas características, la menor de las cuales tiene como aristas 44,
240 y 117:
El brick de Euler
Dado un brick de Euler en el que sus aristas tienen algún divisor común, dividiendo por este,
encontraríamos un brick menor. Nos interesan pues solamente los bricks primitivos, es decir,
aquellos cuyas aristas tienen máximo común divisor igual a 1. Esto implica que al menos una
arista ha de ser impar.
Ahora bien, si hubiera dos aristas impares, la diagonal de la cara correspondiente sería par, y
su cuadrado también. Pero es fácil demostrar, por reducción al absurdo, que un cuadrado par
no puede ser suma de dos cuadrados impares.
Así que, en todo brick primitivo, dos de sus aristas (pongamos x e y) deben ser pares, y la otra impar.
LA CAJA PERFECTA
Una caja perfecta, también llamada cuboide perfecto, es un brick de Euler en el cual la diagonal principal también es un número natural. Podemos añadir que sólo nos interesa saber si
existe una caja perfecta que corresponda a un brick primitivo.
Noviembre 2008 • 2008ko Azaroa
87
Rafael Losada Liste
Traduciendo al álgebra, de nuevo gracias al teorema de Pitágoras, esto significa que sus aristas
y diagonales deben ser solución del siguiente sistema de ecuaciones diofánticas:
Como hemos visto, podemos considerar que x e y son pares y z es impar.
Hasta la fecha, no se ha encontrado ninguna caja perfecta, pero tampoco existe ninguna
demostración de inexistencia. Búsquedas exhaustivas por ordenador han comprobado que,
de existir alguna caja perfecta, la menor de sus aristas deberá ser superior a 232 (casi 4.300
millones).
Ahora que ya sabemos en qué consiste exactamente la conjetura, observamos que todo se
reduce a "cuadrados que son suma de cuadrados". Esto nos lleva a plantear...
LAS DOS PRIMERAS CUESTIONES FUNDAMENTALES
1. Dado el cuadrado de un número, ¿cuándo es suma de otros dos cuadrados?
(RESUELTA).
2. Y cuando lo sea, ¿cuáles son esos cuadrados? (ABIERTA).
TEOREMA DE PITÁGORAS Y TRIÁNGULOS ENTEROS
Busto de Pitágoras
Dado un triángulo rectángulo, el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos.
88
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
En particular, esta relación pitagórica debe cumplirse para números naturales.
También se verifica el recíproco del teorema de Pitágoras: si a, b y c son tres naturales que
guardan la anterior relación, entonces son los lados de un triángulo rectángulo.
A estas ternas de números naturales se les conoce como ternas pitagóricas.
b2 + c2 = a2
Ejemplo 1: la más simple de las ternas pitagóricas es la formada por los números (3, 4, 5).
Ejemplo 2: el cuadrado más pequeño que se puede poner de dos formas diferentes como suma
de dos cuadrados(1) es 625 (el cuadrado de 25): 152 + 202 = 72 + 242 = 252
Nota: a partir de ahora, cuando hable de cuadrados me referiré a cuadrados de enteros positivos. Además, usaré la expresión triángulos enteros para aquellos cuyos lados son enteros.
CRITERIO DE PARIDAD
Una consecuencia de la anterior relación es que uno de los catetos de un triángulo entero
siempre tiene que ser par (esto es fácil de demostrar por reducción al absurdo). En adelante,
suponemos c ese cateto par.
PARAMETRIZACIONES
Está claro que podemos empezar a ensayar con los números naturales y sus cuadrados a ver
cuáles cumplen esa relación pitagórica. Pero sería mucho mejor si dispusiésemos de algún
tipo de "fórmula" que nos ofrezca directamente los valores de todas las posibles ternas pitagóricas, sin necesidad de ensayos.
En definitiva, desearíamos encontrar expresiones que, al variar el valor de uno o más parámetros, nos ofreciesen directamente (y únicamente) todas y cada una de las ternas pitagóricas.
LAS TERNAS PITAGÓRICAS
Estas ternas se pueden parametrizar fácilmente. Si B, C y K son naturales, con B > C primos
entre sí (en particular, de distinta paridad), la siguiente terna de números es pitagórica:
b = K (B2 - C2)
c = K (2BC)
a = K (B2 + C2)
Y recíprocamente: cualquier terna pitagórica se puede representar con las relaciones anteriores
para ciertos parámetros K, B y C(2).
Cuando a, b y c no comparten divisores comunes (MCD(b, c, a) = K = 1) la terna pitagórica se
llama primaria o primitiva. Otros valores de K dan lugar a triángulos semejantes (y mayores) al
formado por la terna primaria.
Dada su importancia, a los parámetros B y C les llamaremos, en adelante, generadores.
Noviembre 2008 • 2008ko Azaroa
89
Rafael Losada Liste
ALGUNOS EJEMPLOS
La terna (3, 4, 5) es primaria, mientras que la terna (6, 8, 10) no lo es, como vemos a continuación.
3 = 22 – 12
6 = 2 (22 + 12)
4 = 2 · 2 · 1
8 = 2 (2 · 2 · 1)
2
2
5=2 +1
10 = 2 (22 + 12)
Es importante observar el caso especial de las ternas primarias. De la parametrización de la
hipotenusa, se deduce que si la terna es primaria, la hipotenusa debe ser suma de dos cuadrados para que su cuadrado también lo sea. En el ejemplo, 5 debe ser suma de dos cuadrados
(12 y 22) para que 25 también lo sea (32 y 42).
Por otra parte, si (b, c, a) forman una terna primaria, serán primos dos a dos (ya que si dos
lados tuvieran un divisor primo común, el tercero también lo tendría). En particular, sólo un
lado (el cateto c) será par.
HACE 3.500 AÑOS
En una tablilla cuneiforme aproximadamente del año 1500 a.C. se ha encontrado una enumeración de ternas pitagóricas, entre las cuales se encontraba (4.961, 6.480, 8.161). Los valores
B = 81 y C = 40 son los generadores correspondientes.
DADA UNA HIPOTENUSA, p.e. 41, ¿CUÁLES SON LOS CATETOS
ENTEROS, SI LOS HAY?
En el ejemplo anterior vimos que para los parámetros K = 1, B = 2 y C = 1, la hipotenusa
resultante es 5. Pero no existe un modo sencillo de realizar el proceso inverso.
El problema es similar al de los números compuestos y la tabla de Eratóstenes (ver un modelo dinámico en http://geometriadinamica.es/Aritmetica-y-Algebra/Numeros/Criba-de-Eratostenes.html).
Teóricamente, podemos encontrar todos los compuestos por un proceso de criba (múltiplos
de 2, de 3, etc.) De igual forma, podemos hallar todas las ternas pitagóricas dando valores a
los parámetros.
Imagen de Eratóstenes
90
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
Pero si nos dan un número compuesto no tenemos más remedio que ensayar con los posibles
divisores primos para factorizarlo. Similarmente, si nos dan la hipotenusa (p.e. 41) tenemos
que ensayar con los generadores B y C (con K no hace falta, pues 41 es primo) hasta encontrar
que B = 5 y C = 4 cumplen que 41 es la suma de estos dos cuadrados. Ahora podemos, aplicando la parametrización, encontrar los catetos buscados que son 9 y 40.
Esta analogía, entre descomponer en suma de dos cuadrados y factorizar un número, es más
que una simple similitud. Si fuésemos capaces de factorizar un compuesto sin ensayar, también
seríamos capaces de encontrar rápidamente los valores K, B y C de la parametrización, pues
los tres son divisores de c.
DADO UN NÚMERO, p.e. 41, ¿CÓMO SABEMOS SI ES UNA
HIPOTENUSA?
Dicho lo anterior, parecería que la única forma de saber si un número natural es hipotenusa
de algún triángulo entero es ensayando a restar cuadrados inferiores a 41 (36, 25...) hasta
encontrar que la diferencia es un cuadrado (41 – 25 = 16), y a partir de ahí aplicar la parametrización. Efectivamente, esta es la forma de encontrar los catetos.
Pero para saber a priori que tales catetos existen, disponemos de un modo fulgurante que
Fermat descubrió y Euler, después de 7 años de dedicación, consiguió demostrar. Los dos teoremas siguientes resumen sus investigaciones.
TEOREMA 1. SOBRE PRIMOS SUMA DE DOS CUADRADOS
A. 2 es suma de dos cuadrados (pero no es una hipotenusa, pues uno de los catetos se
anula, es decir, no existen generadores para 2).
B. Ningún número primo de la forma 4n – 1, con n natural, es suma de dos cuadrados.
C. Todo número primo de la forma 4n + 1 (con n natural) es suma de dos cuadrados (y por
lo tanto, según la parametrización, es una hipotenusa). Además, estos cuadrados son
únicos (sólo existe un triángulo rectángulo cuya hipotenusa sea ese número primo).
Desgraciadamente, la demostración del último apartado no es constructiva (al fin llegamos al
abismo, aunque todavía sin asomarnos a él). Es decir, no se encuentran los catetos, sino que se
emplean métodos de reducción al absurdo. Así, Fermat esbozó el método de descenso infinito
como medio de obtener la demostración, si bien Euler usó otro método. Aunque existen otras
demostraciones, además de la de Euler, ninguna es constructiva.
P. Fermat
Noviembre 2008 • 2008ko Azaroa
91
Rafael Losada Liste
Así que sabemos que cualquier número primo de la forma 4n+1 se puede expresar, de forma
única, como suma de dos cuadrados, pero la demostración no nos facilita en nada el encontrar
los generadores.
Ejemplo. El número 41 es un primo de la forma 4·10 + 1, así que es suma de dos cuadrados, y
por lo tanto es hipotenusa (como hemos visto). El número 43 es un primo de la forma 4·11 – 1,
así que no existen dos cuadrados cuya suma sea 43.
APLICACIONES
Aplicación para la representación de raíces cuadradas. Si queremos representar rápidamente
√41, basta construir sobre la recta real un triángulo rectángulo de catetos 5 y 4.
Para representar √43 primero construimos √41, tomando esta como cateto y la unidad como
el otro cateto construimos √42 y repitiendo el proceso, √43.
Interpretación en geometría clásica. En todo semicírculo cuyo diámetro sea un primo de la
forma 4n + 1 sólo se pueden inscribir dos triángulos rectángulos (simétricos) de catetos enteros.
Si el diámetro es otro tipo de primo, no se puede inscribir ningún triángulo rectángulo de
catetos enteros.
Interpretación en geometría analítica. Toda circunferencia centrada en el origen cuyo radio sea
un primo de la forma 4n + 1 pasa exactamente por 12 puntos con coordenadas enteras.
Si el radio es otro tipo de primo, sólo pasa por 4 puntos (en los ejes) con coordenadas enteras.
Desde el punto de vista del plano complejo, dado un primo de la forma 4n + 1 existen exactamente 12 enteros complejos cuyo módulo es ese primo; si el primo es de otro tipo, sólo 4
enteros complejos (reales o imaginarios puros) tienen como módulo ese primo.
92
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
COROLARIO. SOBRE CUADRADOS, DE PRIMOS, SUMA DE DOS
CUADRADOS
Si un primo es de la forma 4n + 1 entonces su cuadrado es suma de cuadrados (y de forma
única). Si es de otra forma, su cuadrado no es suma de dos cuadrados.
Ejemplo. El número 1681 es el cuadrado de 41. Por lo tanto: 1681 = 412 = 92 + 402
TEOREMA 2. SOBRE CUADRADOS SUMA DE DOS CUADRADOS
A. Si un número no tiene ningún divisor primo de la forma 4n + 1 entonces su cuadrado
no es suma de dos cuadrados (es decir, el número no es hipotenusa de ningún triángulo
entero).
B. Si un número a es del tipo
donde m no tiene ningún divisor primo
de la forma 4n + 1 pero los distintos primos pi son de esa forma, entonces a2 es suma
de dos cuadrados. Además, esta descomposición en suma de cuadrados se puede hacer
exactamente del siguiente número de formas distintas:
Ejemplos:
a. Los números 2, 3, 4, 6, 7, 8, 9, 11 y 12 no tienen divisores de la forma 4n + 1, por lo
tanto no pueden ser hipotenusas de ningún triángulo entero, es decir, sus cuadrados no
se pueden descomponer en suma de dos cuadrados.
b. El número 5 tiene un único divisor primo (5) de esa forma, así que es hipotenusa de un
único triángulo entero: 52 = 32 + 42
c. El número 1.729, la matrícula del taxi ya mencionada, tiene tres divisores primos, 7, 13 y
19. Sólo el 13 es de la forma 4n + 1, así 1.729 que es hipotenusa de un único triángulo
entero:
1.7292 = 6652 + 1.5962
d. El número 50 tiene un único divisor primo (5) de esa forma, y además este divisor aparece, en la factorización de 50, con potencia 2. Por lo tanto, 50 es hipotenusa de dos
triángulos enteros:
502 = 302 + 402
502 = 142 + 482
e. El número 65 tiene dos divisores primos (5 y 13) de esa forma. Por lo tanto, 65 es hipotenusa de cuatro triángulos enteros:
652 = 252 + 602
652 = 392 + 522
652 = 632 + 162
652 = 332 + 562
f. El número 32.045 tiene cuatro divisores primos (5, 13, 17 y 29) de esa forma. Por lo
tanto, 32.045 es hipotenusa de cuarenta triángulos enteros distintos.
¿CÓMO HALLAR LOS CATETOS DE ESOS TRIÁNGULOS?
En los ejemplos anteriores se mostró la descomposición en suma de dos cuadrados de algunos
cuadrados. Pero, ¿cómo se ha obtenido esta descomposición? Una forma sencilla consiste en
usar enteros complejos. Cualquier suma de dos cuadrados se puede interpretar como un producto de un entero complejo por su conjugado: B2 + C2 = (B + Ci) (B – Ci). Veamos cada uno
de los ejemplos anteriores por separado.
Noviembre 2008 • 2008ko Azaroa
93
Rafael Losada Liste
Ejemplo 1. No eran descomponibles, en aplicación del teorema B.
Ejemplo 2. Como 5 es primo de la forma 4n + 1, buscamos sus únicos generadores: 1 y 2.
Recordemos que esta búsqueda se realiza por ensayo. Tenemos así que
5 = 12 + 22 = (1 + 2i) (1 – 2i).
El cuadrado de 5 será entonces: 52 = (1 + 2i)2 (2 – 2i)2.
Por otra parte, (1 + 2i)2 = (-3 + 4i) y (1 – 2i)2 = (-3 – 4i). Así que 52 = (-3 + 4i)(-3 + 4i) = 32 + 42
Ejemplo 3. Ya que 13 es primo de la forma 4n + 1, buscamos sus únicos generadores: 2 y 3.
Recordemos que esta búsqueda se realiza por ensayo. Tenemos así que
13 = 22 + 32 = (2 + 3i) (2 – 3i).
El cuadrado de 13 será entonces: 132 = (2 + 3i)2 (2 – 3i)2.
Por otra parte, (2 + 3i)2 = (-5 + 12i) y (2 – 3i)2 = (-5 – 12i). Así que 132 = 52 + 122.
Como 1.729 = 7 · 19 · 13, tenemos que 1.7292 = 72 · 192(52 + 122) = 6652 + 1.5962.
Ejemplo 4. Los generadores de 5 son 1 y 2. Tenemos así que 5 = 12 + 22 = (1 + 2i)(1 – 2i).
Dado que 50 = 2 · 52, obtenemos que
502 = 22 · 52 · 52 = 22 (1 + 2i)2 (1 – 2i)2 (1 + 2i)2 (1 – 2i)2.
Podemos realizar dos agrupaciones diferentes en productos de cuadrados, que dan lugar a las
distintas soluciones:
502 = 2 · 52 (1 + 2i)2 (1 – 2i)2 = 2 · 52 (-3 + 4i) (-3 – 4i) = 22 · 52 (32 + 42) = 302 + 402
502 = 22 (1 + 2i)4 (1 – 2i)4 = 22 (-7 – 24i) (-7 + 24i) = 22 (72 + 242) = 142 + 482
Ejemplo 5. Los generadores de 5 son 1 y 2, mientras que los de 13 son 3 y 2. Por lo tanto:
652 = 52 · 132 = (1 + 2i)2 (1 – 2i)2 (3 + 2i)2 (3 – 2i)2
Ahora podemos realizar cuatro agrupaciones diferentes, que dan lugar a las distintas soluciones:
652 = 52 (3 + 2i)2 (3 – 2i)2 = 52 (5 + 12i)(5 – 12i)2 = 52 (52 + 122) = 252 + 602
652 = (1 + 2i)2 · (1 – 2i)2132 = (-3 + 4i)(-3 – 4i)132 = (32 + 42)132 = 392 + 522
652 = (1 + 2i)2 (3 + 2i)2132 · (1 – 2i)2(3 – 2i)2 = (-63 + 16i)(-63 –16i) = 632 + 162
652 = (1 + 2i)2 (3 – 2i)2 · (1 – 2i)2(3 + 2i)2 = (33 + 56i)(33 –56i) = 332 + 562
Ejemplo 6. Ahora hay 4 pares de generadores. Por cada par B, C, el cuadrado del primo correspondiente será de la forma (B2 + C2)2 = (B + Ci)2 (B – Ci)2. Esta expresión se puede separar en
dos cuadrados diferentes: (B + Ci)2 y (B – Ci)2, a los que hay que añadir el propio (B 2 + C 2)2.
Al combinar estos tres cuadrados con los otros 3 de cada uno de los otros pares de generadores, obtenemos 34 = 81 agrupaciones diferentes. Uno de ellas tendrá parte imaginaria nula
(corresponderá a 32.0452 + 02) por lo que debemos rechazarla. Las 80 restantes darán todas
las soluciones con sus conjugadas (que son esencialmente las mismas) así que obtendremos 40
soluciones realmente diferentes. (Un razonamiento similar lleva a la fórmula del teorema B).
94
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
REGRESO AL ARCA PERDIDA
Una vez visto lo anterior, ya podemos empezar a comprender qué diablos sucede con la caja
perfecta.
x, y pares, z impar
Observemos que el anterior sistema es equivalente al siguiente:
Es decir, el cuadrado de la diagonal principal de la caja se deberá poder expresar al menos de
tres formas distintas como suma de dos cuadrados. Anteriormente hemos encontrado números
(como 65 ó 32.045) que tienen esta propiedad. Y podríamos encontrar muchísimos más, tantos
como quisiéramos.
Pero, ahora, las descomposiciones en suma de dos cuadrados no pueden ser cualesquiera. Para
que sea una caja perfecta, deberá cumplirse además la ecuación (1), que relaciona entre sí tres
de los cuadrados de estas descomposiciones. Esta fortísima simetría algebraica es la causa de
la dificultad existente en encontrar una caja perfecta (si es que hay alguna).
En este punto es crucial recordar que las descomposiciones en sumas de cuadrados las habíamos obtenido, en última instancia, a partir de parejas de generadores, y éstos se encontraban
por ensayo (su existencia estaba probada por una demostración no constructiva). Si dispusiésemos de alguna parametrización que evitase estos ensayos, el problema de la caja perfecta
se simplificaría enormemente, ya que se reduciría al análisis de una sola ecuación diofántica:
x2 = a2 + b2, donde x, a y b ya habrían sido parametrizados. Desgraciadamente, no contamos
con ella.
Noviembre 2008 • 2008ko Azaroa
95
Rafael Losada Liste
JUGANDO A LA LOTERÍA (INTENTANDO PARAMETRIZAR LA CAJA
PERFECTA)
El propio Euler encontró dos parametrizaciones, incompletas, de las soluciones del sistema
que deben cumplir los bricks que llevan su nombre. La siguiente parametrización (Saunderson,
1740) también es incompleta (para valores de p y q se obtienen siempre bricks de Euler, pero
no se obtienen todos los bricks de Euler):
donde (Y, Z, X) forman una terna pitagórica primitiva, es decir:
con p > q naturales de distinta paridad.
Un brick de esta familia se convertirá en caja perfecta cuando b2 + y2 sea un cuadrado, lo que
equivale a decir que X4 + 16Y2 Z2 debe ser cuadrado, es decir, la expresión
(p2 + q2)4 + 64 p2 q2 (p2 – q2)2 debe tener raíz cuadrada entera.
Podríamos ahora caer en la tentación de jugar a la lotería y programar un ordenador para que
realizase pruebas para un montón de valores de p y q hasta dar con un cuadrado perfecto.
Pero nuestro empeño estaría condenado al fracaso, pues W.G. Spohn demostró, en 1972, que
ningún elemento de esta familia de bricks de Euler puede ser una caja perfecta.
PROGRAMANDO CON NATURALES GIGANTES
Por supuesto, se puede intentar seguir jugando a la lotería con valores de números naturales
a ver si por casualidad atinamos con una caja perfecta. Si realizamos el intento, nos daremos
cuenta que surge una nueva dificultad: las limitaciones que la mayor parte de los lenguajes de
programación imponen al tamaño de los números enteros.
Nos centraremos en uno de los lenguajes actuales más populares: Java. Los enteros positivos (tipo
long) que puede manejar este lenguaje deben ser menores que 9.223.372.036.854.775.808, es
decir, 263. Nueve trillones puede parecer mucho, y lo es para la mayoría de los cálculos habituales. Pero si nos fijamos en la parametrización de Saunderson tanto p como q están elevados a una
octava potencia. Esto significa que basta que p supere la cota de 234 (un número pequeño) para
que Java no pueda computar su potencia octava como entero. Ante estos valores, Java aproximará el resultado al tipo coma flotante, o sea, truncará o redondeará el resultado. Esto provocará
inmediatamente la aparición de falsas soluciones.
Las ampliaciones del propio lenguaje Java nos ofrecen una solución. Pero esta solución nos
llevará a replantearnos cómo se realizan las operaciones aritméticas fundamentales.
Así, podemos imaginarnos un entero, tan grande como queramos, como una secuencia de
dígitos (una cadena). Java nos ofrece las siguientes herramientas:
96
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
BigInteger(n): declara que n se debe tratar como una cadena de dígitos, un entero gigante,
prácticamente tan grande como queramos.
BigDecimal(n): declara que n se debe tratar como una cadena de dígitos con una coma, un
decimal gigante.
add: suma dos enteros gigantes, descomponiéndolos en subcadenas y reorganizando el resultado.
Veamos una simulación. Para comprender mejor el ejemplo, suponemos que trabajamos con
un ordenador que no permite enteros mayores que 999.999. Ahora, queremos obtener el resultado exacto de 888.777 más 666.555.
1. Declaramos 888.777 y 666.555 como enteros gigantes.
2. Usamos add para sumar los dos valores. Para ello, el ordenador descompone 888.777
en dos subcadenas: 888 y 777. Igualmente, descompone 666.555 en 666 y 555. Ahora
suma de forma normal 777 y 555, obteniendo 1.332. Conserva las últimas tres cifras y
añade 1 a la suma de las subcadenas 888 y 666. Resultado: 1.555.332.
multiply: multiplica dos enteros gigantes, descomponiéndolos en subcadenas, aplicando la
propiedad distributiva y reorganizando el resultado.
Por ejemplo, ahora queremos obtener el resultado exacto de 888.777 por 666.555.
1. Declaramos 888.777 y 666.555 como enteros gigantes.
2. Usamos multiply para multiplicar los dos valores. Para ello, el ordenador descompone
888.777 en dos subcadenas: 888 y 777. Igualmente, descompone 666.555 en 666 y 555.
Realiza el producto basándose en la igualdad:
888.777 · 666.555 = (888.000 + 777)(666.000 + 555)
Hasta aquí, todo es sencillo. Pero necesitamos comprobar, además, si el resultado obtenido es
o no es un cuadrado perfecto. Esto significa que debemos buscar una forma de extraer la raíz
cuadrada.
Imagen de Herón de Alejandría
El algoritmo convergente que vamos a usar ya lo conocía Herón de Alejandría, y existen
evidencias de que los babilonios lo usaron con anterioridad. Lo veremos con un ejemplo.
Queremos saber si el número n = 789.924.555.729 es un cuadrado perfecto.
Noviembre 2008 • 2008ko Azaroa
97
Rafael Losada Liste
Primero, elegimos un número de partida como primera y burda aproximación:
1. Halla la mitad, por defecto, de longitud de la cadena n (número de dígitos). En nuestro
ejemplo, esta mitad es 6 (también sería 6 si el número tuviese 13 cifras). Resta 1 (obtenemos 5). [Si el resultado fuese menor que 0, tomaríamos 0].
2. La primera aproximación, r, será la unidad seguida de tantos ceros como indique el apartado anterior. En nuestro caso, r = 100.000.
Ahora aplicamos el siguiente proceso iterativo:
3. Obtén el nuevo valor de r calculando la mitad de ( r + n / r ), redondeando al entero más
cercano. En el ejemplo, r = 3.999.623.
4. Repite 3 hasta que se repita r. En nuestro caso, obtenemos las sucesivas aproximaciones:
2.098.561, 1.237.487, 937.908, 890.064, 888.778, 888.777, 888.777.
Para realizar el paso 3, disponemos en Java del operador divide, que funciona con números
decimales gigantes.
El algoritmo anterior, aunque muy antiguo, no deja de ser un caso particular de un potente
método de convergencia para encontrar una raíz de una función conocido como NewtonRaphson. Dado un punto de partida, se traza la recta tangente a la gráfica de la función en ese
punto. Como nuevo punto, se toma la raíz de esa recta tangente.
I. Newton
Veámoslo en este caso particular. La función es
. Tomando como punto de partida
(x0, y0), la ecuación de la recta tangente que pasa por ese punto será:
98
SIGMA Nº 32 • SIGMA 32 zk.
En busca del arca perdida
La raíz de esta recta se obtiene igualando y a cero:
Como se aprecia, este valor coincide con el que figura en el proceso iterativo mostrado
antes.
NOTAS
(1) Cómo no recordar aquí la famosa anécdota de Hardy y Ramanujan, el comentario sobre la matrícula de un taxi (1.729) como
número curioso por ser el más pequeño expresable como suma de dos cubos de dos formas diferentes (cubos de 1 y 12, y de 9
y 10).
(2) Demostremos que cualquier terna pitagórica primitiva (b, c, a) se puede representar con las siguientes relaciones, con B > C
primos entre sí: b = B2 – C2, c = 2BC, a = B2 + C2
Veamos primero que a ha de ser impar. Si no lo fuese (a = 2s), lo serían b e c, es decir, b = 2m + 1, c = 2n + 1.
Por lo tanto, 4s2 = 4(m2 + m + n2 + n) + 2, pero esto es absurdo pues 2 no es múltiplo de 4.
Podemos suponer, por lo tanto, que el único par es c.
Como a y b son impares, su suma y su diferencia serán pares. Así que podemos escribir:
Como c2 = a2 – b2 = (a + b) (a – b), nos queda que n2 = ms.
Por otra parte, m y s son primos entre sí, pues si no lo fuesen a = s + m y b = s – m tampoco lo serían y la terna (a, b, c) no
sería primitiva.
Ahora usamos un argumento muy simple pero importante: si el producto de dos números naturales primos entre sí es un
cuadrado, entonces ambos son cuadrados, pues cada uno de ellos debe tener cada factor primo con exponente par.
Como n2 = ms, con m y s primos entre sí, entonces tanto m como s han de ser cuadrados. Así que:
donde B y C son primos entre sí. Sustituyendo, obtenemos las expresiones buscadas de a, b y c.
Noviembre 2008 • 2008ko Azaroa
99
Locmariq
uer I, H
m.
René Tho
a
je
a
n
e
om
Eduardo
Chillida
Descargar