Introducción
El 9 de junio de 2022, Google estableció un nuevo récord mundial al calcular la mayor cantidad de dígitos de Pi: ¡100 TRILLONES! Este logro monumental fue posible gracias al programa y-cruncher que se ejecuta en Google Cloud. Procesó números durante la friolera de 157 días, 23 horas, 31 minutos y 7,651 segundos.
Si mil millones es 100 mil veces menor que 100 billones, ¿disminuiría el tiempo de ejecución en consecuencia? En otras palabras, ¿se necesitarían sólo 136 segundos?
Pero 136 segundos es demasiado ambicioso. Las PC domésticas son mucho menos poderosas que los entornos más formidables de Google Cloud. Entonces, ¿qué tal un tiempo de ejecución más razonable, como 24 horas?
Resulta que calcular incluso mil millones de dígitos de Pi en 24 horas es una quimera gigante. Este artículo explica por qué con evidencia en Python.
En primer lugar, ¿qué tiene de malo? math.pi?
import mathprint(math.pi)
3.141592653589793
math.pi Tiene una precisión de 15 dígitos. Si bien no es mucho, es suficiente para realizar cálculos con la mayor precisión científica.
Por ejemplo, el Jet Propulsion Lab (JPL) de la NASA utiliza 15 dígitos de Pi para navegar entre planetas. Para que te hagas una idea, este nivel de precisión es suficiente para calcular la circunferencia de un círculo con un radio de 15 mil millones de millas. La circunferencia resultante de 94 mil millones de millas no estaría desviada más que el ancho de su dedo meñique. ¡Piénsalo!
Entonces, ¿por qué molestarse siquiera con mil millones de dígitos, y mucho menos 100 billones?
Bueno, para darte la respuesta del geek: “¡Porque sería increíblemente genial!”.
¿Qué pasa si aumentamos la precisión decimal?
Antes de sacar las armas pesadas (¡los algoritmos!), ¿qué pasa si aumentamos la precisión decimal en Python al aproximar π? Eso sería mucho más sencillo.
Para la aproximación usaremos la fórmula de Ramanujan para π. Los matemáticos de todo el mundo lo utilizan para aproximar π a un nivel insuperable.
from decimal import Decimal…