|
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Michel Invité
|
Posté le: 06 Jan 2005 17:43 Sujet du message: calcul de pi |
|
|
Vous connaissez sans doute la formule de Plouffe découverte en 1995 :
pi=sum(1/16^n(4/(8n+1)-2/(8n+2)-1/(8n+5)-1/(8n+6)),n=0..infinity.
On dit qu'elle permet de calculer un chiffre de Pi d'un rang donné en base 16 sans avoir à calculer les chiffres qui précèdent (chose qu'on ne sait pas faire en base 10). Comment à l'aide exemples mettre en évidence cette propriété ? Maple peut-il aider ? |
|
Revenir en haut de page |
|
|
tau Invité
|
Posté le: 07 Jan 2005 14:15 Sujet du message: Re: Formule de Plouffe |
|
|
Une première approche: il y avait une errreur dans la formule de Michel:
c'est Pi=sum(1/16^n*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)),n=0..infinity)
Code: |
plouffe:=k->evalf(sum(1/16^n*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)),n=0..k),k);
plouffe :=
k 4 2 1 1
----- ------- - ------- - ------- - -------
\ 8 n + 1 8 n + 4 8 n + 5 8 n + 6
k -> evalf( ) -------------------------------------, k)
/ n
----- 16
n = 0
> seq(plouffe(k),k=1..20);
3., 3.1, 3.14, 3.142, 3.1416, 3.14159, 3.141593, 3.1415927,
3.14159265, 3.141592654, 3.1415926536, 3.14159265359,
3.141592653590, 3.1415926535898, 3.14159265358979,
3.141592653589793, 3.1415926535897932, 3.14159265358979324,
3.141592653589793238, 3.1415926535897932385
|
|
|
Revenir en haut de page |
|
|
Michel Invité
|
Posté le: 07 Jan 2005 17:28 Sujet du message: calcul de pi |
|
|
A Tau, merci de cette réponse. Je recherche toujours son application en base 16. |
|
Revenir en haut de page |
|
|
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. |
|
Revenir en haut de page |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com
Apprendre Maple - ©
- Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.
|