A lo largo de la historia han sido muchas las formas utilizadas por el ser humano para calcular aproximaciones cada vez más exactas de este número Pi, cociente entre la longitud de una circunferencia cualquiera y el diámetro de la misma: se han usado las áreas de polígonos inscritos y circunscritos a una circunferencia, se han encontrado interesantes aproximaciones numéricas con algunas fracciones sencillas, se han desarrollado series infinitas y productos infinitos de todas las formas que uno pueda imaginar…Vamos, de todo. Pero de entre todos estos métodos hay varios que destacan sobre el resto, y uno de los que más lo hacen es el denominado algoritmo de Chudnovsky.
El algoritmo de Chudnovsky es un algoritmo creado por David Volfovich Chudnovsky y Gregory Volfovich Chudnovsky, hermanos y matemáticos ucranianos nacionalizados estadounidenses, mediante el cual podemos obtener muy buenas aproximaciones del número Pi. Se basa en la siguiente expresión relacionada con el número Pi que encontró Ramanujan:
La expresión del algoritmo de Chudnovsky es la siguiente:
y con ella obtenemos 14 decimales exactos más de Pi con cada término de la misma. ¿Qué significa esto? Muy sencillo. Vamos a partir del valor de Pi hasta su decimal número 50:
Si calculamos el primer término de esa suma, el correspondiente a k=0, la aproximación de Pi obtenida será 1 dividido entre ese resultado, que nos da lo siguiente:
En negrita resalto la parte de ese resultado que coincide con el valor de Pi. Calculemos ahora los dos primeros términos. La aproximación de Pi ahora será 1 dividido entre la suma de los mismos. Obtenemos esto:
Como veis, los decimales que ya eran exactos con el primer término se mantienen con este segundo término, y añadimos 14 más (son los resaltados en negrita). Por hacer otro más, veamos que la tendencia continúa con el término siguiente. Al calcular 1 dividido entre la suma de los tres primeros términos obtenemos la siguiente aproximación de Pi:
Los anteriores se mantienen y se añaden 14 nuevos decimales exactos. Y así sucesivamente.
Es una barbaridad obtener 14 decimales exactos más con cada término, ya que con muy poquitos términos obtenemos una aproximación escandalosamente cercana al valor real. Por eso este algoritmo es tan bueno, y por eso ha servido para obtener varios récords mundiales de cálculo de decimales del número Pi (por ejemplo, para éste de 5 billones de agosto de 2010 y para éste de 10 billones de octubre de 2011).
Por eso es uno de los más utilizados en la actualidad para el cálculo de buenas (más bien buenísimas) aproximaciones de esta constante que tanto nos gusta.
Por cierto, para obtener los resultados que aparecen en esta entrada he utilizado Mathematica de la siguiente forma:
- Definimos mediante una función el término general de la serie:
a[k_]:=(12 (-1)^k (6 k)! (13591409+545140134 k))/((3 k)! (k!)^3 640320^(3 k+3/2))
- Ahora, para calcular cada término utilizo el comando
Sum
. Por ejemplo, para calcular el primero usoSum[a[k],{k,0,0}]
pero como lo que quiero es calcular la aproximación de Pi que corresponde con este término hago lo siguiente (como quería 50 decimales le pongo un 51, 51 cifras significativas):N[1/Sum[a[k],{k,0,0}],51]
- Para ampliar el número de términos simplemente cambiamos el segundo cero de
{k,0,0}
. Por ejemplo, para calcular la aproximación con los dos primeros términosN[1/Sum[a[k],{k,0,1}],51]
y para los tres primerosN[1/Sum[a[k],{k,0,2}],51]
Por cierto, una última curiosidad. Con
N[Pi,51]
Mathematica nos muestra una aproximación del número Pi con 50 decimales. Evidentemente, podemos aumentar el número de decimales para conseguir aproximaciones cada vez más exactas. ¿A que no sabéis que algoritmo utiliza el propio Mathematica para obtener dichas aproximaciones? Efectivamente, el algoritmo de Chudnovsky.
Imagen tomada de aquí, donde podéis encontrar mucha información sobre el cálculo del número Pi.
Fuente:
Gaussianos