F0rM
Inscrit le: 01 Mai 2006 Messages: 15
|
Posté le: 28 Nov 2006 22:53 Sujet du message: le nombre Pi |
|
|
Vous devriez utiliser la formule de Chudnovsky pour le calcul des digits de pi. Cette algorithme est environ 10 fois plus rapide que Plouffe (formule de BBP en fait ! )
J'ai calculé 1 million de décimales de pi en 9.8 secondes sur mon pentium 3 - 1 GHz avec 512 mb sdram :O
j'ai utilisé un FFT de 128 k de mémoire. le programme s'appelle pifast 4.3, avis aux interessés.
Avec la formule de plouffe, pour obtenir les memes décimales, ca ma pris 137.26 secondes, cest a dire 14 fois plus long !! Alors si vous voulez avoir 100 millions de digits ca va prendre une éternité pour rien...
voici le code et la formule
restart;
Chudnovsky:=k->evalf(426880*sqrt(10005)/Sum((6*n)!*(545140134*n+13591409)/(n!)^3/(3*n)!/(-640320)^(3*n),n=0..k),k);
426880 sqrt(10005)
Chudnovsky := k -> evalf(-------------------------------------, k)
k
-----
\ (6 n)! (545140134 n + 13591409)
) -------------------------------
/ 3 (3 n)
----- (n!) (3 n)! (-640320)
n = 0
> seq(Chudnovsky(k),k=1..20);
4., 3.1, 3.14, 3.141, 3.1415, 3.14159, 3.141593, 3.1415928,
3.14159266, 3.141592655, 3.1415926537, 3.14159265360,
3.141592653590, 3.1415926535897, 3.14159265358980,
3.141592653589794, 3.1415926535897933, 3.14159265358979324,
3.141592653589793236, 3.1415926535897932384
Je viens de terminer le calcul des 100 millions de décimales de pi avec l'algorithme que je donne, ca m'a pris 1h26 minutes
Avec l'algorithme de plouffe, vous en avez pour au moins 21 heures, je défis quiconque de faire mieux que moi. |
|