stringtranslate.com

Algoritmo de Chudnovsky

El algoritmo de Chudnovsky es un método rápido para calcular los dígitos de π , basado en las fórmulas π de Ramanujan . Fue publicado por los hermanos Chudnovsky en 1988. [1]

Se utilizó en los cálculos del récord mundial de 2,7 billones de dígitos de π en diciembre de 2009, [2] 10 billones de dígitos en octubre de 2011, [3] [4] 22,4 billones de dígitos en noviembre de 2016, [5] 31,4 billones de dígitos en septiembre de 2018. –Enero de 2019, [6] 50 billones de dígitos el 29 de enero de 2020, [7] 62,8 billones de dígitos el 14 de agosto de 2021, [8] y 100 billones de dígitos el 21 de marzo de 2022. [9]

Algoritmo

El algoritmo se basa en el número de Heegner negado , la función j y en las siguientes series hipergeométricas generalizadas rápidamente convergentes : [2]

[10]

Esta identidad es similar a algunas de las fórmulas de Ramanujan que involucran π , [2] y es un ejemplo de una serie Ramanujan-Sato .

La complejidad temporal del algoritmo es . [11]

Optimizaciones

La técnica de optimización utilizada para los cálculos de récords mundiales se llama división binaria . [12]

división binaria

Se puede sacar un factor de la suma y simplificarlo a


Sea y sustitúyalo en la suma.


se puede simplificar a , entonces

de la definición original de , entonces

Esta definición de no está definida para , así que calcule el primer término de la suma y use la nueva definición de

Deja y , entonces

dejar y

nunca se puede calcular, por lo que, en su lugar, calcule y a medida que se acerque , la aproximación mejorará.

De la definición original de ,

Calcular recursivamente las funciones.

Considere un valor tal que

Caso base para la recursividad

Considerar

código pitón

importar  decimalesdef  división_binaria ( a ,  b ): si  b  ==  a  +  1 : Pab  =  - ( 6 * un  -  5 ) * ( 2 * un  -  1 ) * ( 6 * un  -  1 ) qab  =  10939058860032000  *  a ** 3 Rab  =  Pab  *  ( 545140134 * a  +  13591409 ) demás : metro  =  ( a  +  b )  //  2 Pam ,  Qam ,  Ram  =  binario_split ( a ,  m ) Pmb ,  Qmb ,  Rmb  =  división_binaria ( m ,  b )  Pab  =  Pam  *  Pmb Qab  =  Qam  *  Qmb Rab  =  Qmb  *  Ram  +  Pam  *  Rmb volver  Pab ,  Qab ,  Rabdef  chudnovsky ( n ): """Algoritmo de Chudnovsky.""" P1n ,  Q1n ,  R1n  =  división_binaria ( 1 ,  n ) retorno  ( 426880  *  decimal . Decimal ( 10005 ) . sqrt ()  *  Q1n )  /  ( 13591409 * Q1n  +  R1n )imprimir ( chudnovsky ( 2 ))  # 3.141592653589793238462643384decimales . obtener contexto () . prec  =  100para  n  en el  rango ( 2 , 10 ): print ( f " { n =} { chudnovsky ( n ) } " ) # 3.14159265358979323846264338...  

Notas

Ver también

Referencias

  1. ^ Chudnovsky, David; Chudnovsky, Gregory (1988), Aproximación y multiplicación compleja según Ramanujan , Ramanujan revisitado: actas de la conferencia del centenario
  2. ^ abc Baruah, Nayandeep Deka; Berndt, Bruce C.; Chan, Heng Huat (2009), "La serie de Ramanujan para 1/ π : una encuesta", American Mathematical Monthly , 116 (7): 567–587, doi :10.4169/193009709X458555, JSTOR  40391165, MR  2549375
  3. ^ Sí, Alejandro; Kondo, Shigeru (2011), 10 billones de dígitos de Pi: un estudio de caso sobre la suma de series hipergeométricas con alta precisión en sistemas multinúcleo , Informe técnico, Departamento de Ciencias de la Computación, Universidad de Illinois, hdl :2142/28348
  4. ^ Aron, Jacob (14 de marzo de 2012), "Las constantes chocan el día pi", New Scientist
  5. ^ "22,4 billones de dígitos de Pi". www.numberworld.org .
  6. ^ "Google Cloud derriba el récord Pi". www.numberworld.org/ .
  7. ^ "El registro Pi regresa a la computadora personal". www.numberworld.org/ .
  8. ^ "Pi-Challenge - Weltrekordversuch der FH Graubünden - FH Graubünden". www.fhgr.ch.Consultado el 17 de agosto de 2021 .
  9. ^ "Cálculo de 100 billones de dígitos de pi en Google Cloud". nube.google.com . Consultado el 10 de junio de 2022 .
  10. ^ Milla, Lorenz (2018), Una prueba detallada de la fórmula de Chudnovsky con medios de análisis complejo básico , arXiv : 1809.00533
  11. ^ "y-cruncher - Fórmulas". www.numberworld.org . Consultado el 25 de febrero de 2018 .
  12. ^ Rayton, Joshua (septiembre de 2023), ¿Cómo se calcula π en billones de dígitos?, YouTube