36 votos

Métodos numéricos sencillos para calcular los dígitos de $\pi$

¿Existe algún método sencillo para calcular los dígitos de $\pi$ ? Los ordenadores son capaces de calcular miles de millones de dígitos, por lo que debe haber un algoritmo para calcularlos. ¿Existe un algoritmo sencillo que se pueda calcular a mano para calcular los primeros dígitos?

2 votos

Ya que no se ha mencionado todavía, recomendaría a los interesados que miraran "Pi and the AGM" de Borwein y Borwein: amazon.com/dp/047131515X

0 votos

Si sólo se trata de los primeros dígitos, intente wolframalpha.com/input/?i=pi+to+1000+digits

19voto

hitec Puntos 824

Si puede utilizar R, intente ggplot2 .

3 votos

Para los lectores ocasionales: Jason empleó aquí una variante de las fórmulas de Machin: es.wikipedia.org/wiki/Fórmula_máquina

0 votos

@JM ¿hay alguna manera de determinar la mejor división de dos términos que resulte en una convergencia más rápida hacia pi?

0 votos

Eso es fácil: como la arctangente es una serie de potencias, la convergencia viene dictada por el mayor argumento de la arctangente. En mi caso, es 2/11.

14voto

alumb Puntos 2586

Algunos de los algoritmos más fáciles de utilizar son el espiga algoritmos. Permiten saltar rápidamente a la enésima cifra sin calcular antes las n-1 cifras. El problema es que sólo funcionan en binario. Aquí son algunas implementaciones en Python. Puedes ver lo cortas que son.

0 votos

Si no recuerdo mal, se calcula el $nth$ dígito calculando primero una aproximación bastante precisa de la $\log(n)$ dígitos utilizando sumas recientemente descubiertas.

2 votos

El segundo enlace está muerto.

6voto

ricree Puntos 5055

También existe la opción de aproximar $\pi$ utilizando Integración de Monte Carlo .

La idea es la siguiente: Si estamos de acuerdo en que el área de un círculo es $\pi r^2$ para simplificar, construimos un círculo de área $\pi$ al establecer $r=1$ . Colocando este círculo totalmente dentro de otra región de área conocida, preferiblemente inscribiéndolo en un cuadrado de lado 2, entonces tenemos una relación entre el área del círculo y el área total del cuadrado (en este ejemplo esa relación es $\frac{\pi}{4}$ ).

El método de Montecarlo funciona mediante la aproximación de áreas basada en la relación entre el número de puntos de muestra que se encuentran dentro de nuestra región de interés y el número total de puntos de muestra que elegimos para probar. Si extendemos una secuencia uniformemente distribuida de $N$ puntos sobre nuestro cuadrado de área 4, y llamamos al número de puntos que caen dentro del círculo inscrito $p$ entonces podemos decir $\frac{\pi}{4} = \frac{p}{N}$ .

Mi implementación de esto en Matlab requiere decenas de miles de puntos de prueba para lograr 3,14159xxxx, pero no lo he probado para secuencias de baja discrepancia, o cualquier otro conjunto de puntos distribuidos uniformemente.

6voto

Ben Puntos 129

Consulta la página de la wiki sobre aproximaciones a pi, http://en.wikipedia.org/wiki/Numerical_approximations_of_%CF%80#20th_century

Me encanta el método de Ramanujan, que recuerdo que converge muy rápidamente.

4voto

Andrew Puntos 140

Ya que la AGM no ha sido mencionada todavía (aparte de mi recomendación de leer el libro de Borwein y Borwein), he aquí cómo usar la AGM para calcular $\pi$ :

a←(1+1/√(2))/2
c←1/(8a)
s←a^2
f←1
repeat
a←(a+√((a-c)(a+c)))/2
c←(c^2)/(4a)
f←2f
s←s-fc^2
until |c| is small enough
(2a^2)/(2s-1)

que aprovecha la relación de Legendre.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X