Blog en el que hablaremos de tecnología, ciencia, informática, programación, literatura, música, anime, manga, y más cosas que realmente no son importantes...

lunes, abril 17, 2006

Los Números Taxicab

Post Actualizado: ya he encontrado un servidor donde alojar el programa para generar los números taxicab, podéis descargarlo desde aquí.
El número 1729 es el llamado número de Hardy-Ramanujan, cuenta la historia que estando el matemático Srinivasa Aaiyangar Ramanujan enfermo en un hospital de Londres éste fué visitado por su mentor Godfrey Harold Hardy, el cuál le comentó que el número del Taxi en el que había llegado al hospital era un número muy aburrido, el 1729. Ramanujan le comentó que no era un número aburrido, sino todo lo contrario, era un número muy interesante, de hecho era el número más pequeño expresable como la suma de dos cubos positivos de dos formas diferentes.

De toda esta historia surgen los números Taxicab, se dice que un número es el enésimo número Taxicab si es el menor número que se puede descomponer como n sumas de dos cubos positivos. Por ejemplo:

El número Taxicab 1 es: 2 = 1^3 + 1^3
El número Taxicab 2 es: 1729 = 1^3 + 12^3 = 9^3 + 10^3
El número Taxicab 2 es: 87539319 = 167^3 + 436^3 = 228^3 + 423^3 = 255^3 + 414^3

Actualmente solo se conoce hasta el número Taxicab 6, así que si sois valientes y conseguís obtener el 7 os prometo poner una foto vuestra en el blog.

He realizado un programa en c++ que realiza la busqueda de un número Taxicab dado como parámetro, a ver si encuentro algún sítio donde subirlo para que lo podáis utilizar. En mi Intel Centrino 1.5 GHz he tardado 9 segundos en obtener el número Taxicab(2). Si algún valiente se atreve a buscar el Taxicab(3) sería divertido que nos comente cuanto ha tardado, para números Taxicab superiores a 3 se debería probar con una profundidad superior a la predeterminada (700) para encontrar la solución. Para números Taxicab mayores al 4 puede que exista riesgo de que la palmeis antes de que el programa termine o que se supere el rango del tipo de datos utilizado, así que puede que el programa falle con números grandes. Tengo pensado realizar una versión (por mera experimentación) que no tenga limitación numérica y que permita guardar el estado por el que nos hemos quedado en el cálculo.

El programa podéis descargarlo desde aquí.

El programa posee dos parámetros, el primero es el número Taxicab a calcular y el segundo la profundidad de cálculo. Si ejecutais el programa con los parametros 2 700, el programa intentará calcular el taxicab(2) con un valor máximo para las potencias de 700.


Os recomiendo que leais sobre la vida del matemático Srinivasa Aaiyangar Ramanujan, es bastante curioso como un matemático sin formación clásica consiguió llegar por si sólo a conceptos matemáticos muy avanzados, además de ser admitido en la Royal Society de Londres. Aquí podeis encontrar más información sobre los números Taxicab.

PD: En el fichero incluyo el código fuente y un ejecutable compilado para Windows, los que tenéis Linux ya sabréis como compilarlo vosotros solitos...

2 comentarios:

Anónimo dijo...

hacia mucho que no me encontraba con un blog nuevo tan interesante. NO DEJES de escribir :)

Sefra dijo...

Gracias por tus animos!!, y aunque no te lo creas conocí los números Taxicab gracias a tu blog.