Tout bon site sur Pi qui se respecte doit avoir
une page sur les programmes informatiques ! En effet, cause ou conséquence de
l'utilisation des ordinateurs, on a vu fleurir de nombreux algorithmes très
performants depuis celui de Salamin en 1976. Ils sont épaulés par l'utilisation
de méthodes de multiplication toujours plus rapides, en O(n.log(n)), et dérivées
de la transformée de Fourier rapide.
Les progrès dans le calcul des décimales ont ainsi été sensibles.
Mais Kanada et les Chudnovsky ne sont pas, comme on le pense parfois, les seuls intéressés
capables de l'écriture d'un programme efficace. C'est même devenu un sport
international. Ainsi Carey Bloodworth et Xavier Gourdon pour ne citer qu'eux se surpassent
régulièrement et offrent deux logiciels qui sont même plus performants
que celui utilisé par Kanada par exemple !
On trouve maintenant des programmes pour toutes les plates-formes, et c'est l'objet
de cette page de les présenter. De 100 décimales à plusieurs centaines de millions,
vous trouverez je l'espère votre bonheur !
A noter que cette page n'en est qu'aux premiers pas de son existence et que d'autres
adresses et programmes viendront certainement l'enrichir prochainement, histoire
de se démarquer un peu plus des deux pages anglaises de référence
(voir plus bas).
Tout d'abord, deux programmes sortent vraiment
du lot. Le premier est le plus rapide et le second est presque aussi efficace mais
surtout disponible sur toutes les plates formes !
PiFast 3.2 de Xavier Gourdon
Page de Xavier Gourdon - Téléchargement
Ce programme en perpétuelle évolution est développé par un français
qui s'est fait un nom en quelques mois. Le programme est basé sur la série
de Chudnovsky (convergence 14n) et utilise bien sûr la transformée de Fourier
rapide pour les multiplications. Une vérification est assurée par la formule
de Ramanujan (convergence 8n). Ce programme détient le record du nombre de décimales
calculées par un particulier sur un PC, voici le tableau en détail pour
la version 3.1 :
Nbre de décimales
Qui
Temps
Date
Machine (processeur, memoire)
Version de PiFast
4,294,960,000
Shigeru Kondo
246 hours
13 Nov 1999
PIII 550 (1024 Mo)
3.1
2,684,354,560
Shigeru Kondo
245 hours
19 Oct 1999
PIII 550 (1024 Mo)
2.3
2,147,483,648
Shigeru Kondo
157 hours
13 Sep 1999
PIII 550 (1024 Mo)
2.3
1,610,612,736
Shigeru Kondo
119 hours
29 Aoû 1999
PIII 550 (1024 Mo)
2.1
1,073,741,824
Shigeru Kondo
63.5 hours
13 Aoû 1999
PIII 550 (1024 Mo)
2.1
268,435,456
Stuart Lyster
32 h 40 min
13 Aoû 1999
PII 300 (128 Mo)
2.2
134,217,728
Shigeru Kondo
2 h 45 min.
4 Aoû 1999
PIII 550 (1024 Mo)
1.1
67,108,864
Stuart Lyster
8 h 18 min
30 Jul 1999
PII 300 (128 Mo)
1.1
67,108,864
Stuart Lyster
19 h 12 min
21 Jul 1999
PII 300 (128 Mo)
1.0
d'après le tableau de Xavier Gourdon
Je vous encourage vivement à aller faire
un tour sur la page de Xavier Gourdon, il explique
pas mal de choses sur la transformée de Fourier rapide et sur le calcul informatique
(exercice : trouver un équivalent de computation !) des plus célèbres
constantes...
PiAGM de Carey Bloodworth
Page
de C. Bloodworth - Les téléchargements
du programme sont regroupés par plate-forme plus bas...
Carey est un des vétérans des programmes de calcul de Pi puisque la première
version de son fameux logiciel PiAGM date de 1996. A l'époque, son ambition
était de faire calculer 1 million de décimales par un processeur 386 en
une journée, exploit mémorable !
Depuis, le programme a bien évolué mais reste axé autour de l'algorithme
de Salamin, ce qui justifie le AGM, pour moyenne arithmético-géométrique
en français, dans le nom. Bien sûr, on retrouve l'utilisation de la fameuse
FFT pour les multiplications des longs entiers. Mais l'originalité de PiAGM
consiste à proposer le calcul au moyen d'un paquet de variantes de la FFT. Au
choix ! Vous trouverez leur description sur la page quasi-officielle
du programme.
Le logiciel est un peu moins rapide que PiFast, mais a un autre avantage certain,
il est disponible sur à peu près toutes les plate-formes du marché et fournit les sources. Les archives sont la plupart du temps au format courant tar/gzip
sauf mention explicite.
Le bazar des OS
Pour contenter tous les systèmes d'exploitations,
voici une grande partie des meilleurs programmes pour les diverses plate-formes
du marché. Le lien du téléchargement renvoie la plupart du
temps au programme présent sur les pages des auteurs, car je n'ai pas
assez de place sur mon compte d'hébergement.
Mais si un lien ne fonctionne pas, demandez-moi de vous envoyer le programme,
je les ai tous sur mon disque. N'hésitez-pas !
Ah, une chose encore, j'ai choisi de différencier les logiciels spécifiques
à une plate-forme et les codes sources qui sont compilables un peu
partout. Pour que l'on ne se retrouve pas comme moi avec la joie d'avoir
téléchargé un programme sans pouvoir le faire marcher faute
de compilateur !
Macintosh
Honneur à mon ordinateur préféré...
Ne figurent ici que les programmes fournis avec un executable Mac. Vous
êtes ensuite libres de compiler les sources C répertoriées
plus bas, mais ce n'est plus un programme spécifique à la plate-forme
PiPrimes - Isabel Georges Adresse
de l'auteur - Télécharger
Une très bonne surprise, ce programme. Dommage qu'il n'aille pas
au-dela de 29000 décimales... Il utilise le package MPFUN, de David Bailey, qui comprend
des routines de calcul arithmétique de précision.
CalculatePi version 1.5 - Carey
Bloodworth Page
de l'archive - Télécharger
Sorti le 2/17/95, le programme est optimisé PowerPC et utilise la formule
Pi/4 = 6 tan-1(1/8) + 2 tan-1(1/57) + tan-1(1/239) . Mais pas de FFT pour autant... 20000 décimales
en 30 secondes, mais un temps de calcul en n2
Buffon Needle - George Reese Page
de l'auteur - Télécharger
Comme son nom l'indique, le programme se
charge d'estimer Pi par la méthode de l'aiguille de Buffon. Bien
sûr, il ne faut pas espérer beaucoup de décimales, mais
c'est une belle adaptation informatique.
Pi and e - J.F. Pautex Page
de l'auteur - Télécharger
Une interface un peu déroutante, mais
un programme qui marche et permet en plus le calcul de e.
Les pages de Stuart Lyster
et Dara sont sans aucun doute les meilleurs site en anglais consacrés aux programmes
calculant Pi. Pour établir une comparaison des programmes, il était
inutile de se casser la tête, rien ne vaut un coup d'oeil aux magnifiques
tableaux qu'il ont concocté. Je ne peux que vous conseiller d'aller
faire un petit saut sur leur page si vous n'êtes pas allergiques à l'anglais.
Sinon, voici une grande liste de programmes suivi d'une petite vue d'ensemble
des performances, faites votre choix ! Sauf superpi, il me semble que tous
les autres programmes sont livrés avec leur code source, le plus généralement
en C/C++.
Pi_css4.exe - Takuya Ooura Page
de l'auteur - Télécharger
Repose sur la FFT et l'AGM, était à
l'origine un test de rapidité de routines de multi-précision
par la FFT. La base de la FFT utilisée est 8,4,2
Piologie_pi.zip - Sebastian Wedeniwski Mail
de l'auteur - Télécharger
Basé sur piologie, une bibliothèque
de fonctions arithmétiques
PI4.EXE - Giovanni Ciampa Mail
de l'auteur - Télécharger
Repose sur le code de Takuya Ooura de l'univ.
de Tokyo. Pi4.exe utilise une FFT de base 4, 2
GioPi - Giovanni Ciampa Mail
de l'auteur - Télécharger
Un programme qui me semble différent
de celui mentionné dans le tableau. Il est basé sur une formule
d'Arctan et provient du monde Atari dans lequel il a reçu des récompenses.
Ahppi.exe - Alan Pittman Mail de
l'auteur - Télécharger
Programme XMPPI
utilisant la FFT et fourni comme une source
c avec son éxécutable DOS
Aptest.exe - Mikko Tommila Page
de l'auteur - Télécharger
Une partie de l'ensemble de programmes de
calcul APFLOAT sur les entiers de Tommila
Superpi.exe - Yasumasa Kanada Page
de l'auteur - Télécharger
C'est une variante du fameux programme qui
détient le record de calcul des décimales soit 206,158,430,000
décimales en Sept 1999. Maic ce programme ne va que jusqu'à
33,5 millions de décimales.
Pi Program - Terj Mathisen Télécharger
Ce programme est basé sur une série
d'Arctan et a la particularité d'avoir été écrit en
assembleur, le code est d'ailleurs fourni avec l'éxécutable
DOS.
Pi Bellard - Fabrice Bellard Page
de l'auteur - Télécharger
Voici notre hacker national au travail pour
ce bon éxécutable utilisant une série d'Arctan et la FFT.
Grande quantités de décimales et temps de travail quasi-linéaire
au programme !
Pi dpmi - Dario Alpern Page
de l'auteur - Télécharger
Un programme écrit en assembleur 386
qui calcule au passage e et ln(2). Pour Pi, il utilise une formule d'arctan.
Pi dpm - Jan Kraak Mail
de l'auteur - Télécharger
Une variante du programme précédent
mais utilisant cette fois-ci la formule de Machin. Cela n'enlève
pratiquement rien à la rapidité du programme.
WinPi - Martin Mamo Page
de l'auteur - Télécharger
Un programme assez connu mais lent. Il est
le résultat d'un portage depuis un autre éxécutable sur
Sun et se base sur la formule d'Arctan de Klingstierna.
PiW - Harry Smith Mail
de l'auteur - Télécharger
Un programme très lent mais bien documenté avec son code source. Il repose sur une formule d'Arctan.
1-million-of-digits Télécharger
Exactement 1 million de décimales avec
ce programme vous obtiendrez, Yoda a dit.
Performances
En attendant de faire mes propres essais, voici ceux réalisés
par Stuart Lyster et Dara. Ils comprennent également des programmes
compilés à partir des codes sources disponibles plus bas.
Pixlinux - Jorg Arndt Mail de l'auteur - Télécharger
Basé sur l'algorithme à convergence
quartique des Borwein principalement, ce programme est relativement lent
mais pourtant hautement configurable puisque ce sont pas moins de dix
formules qui sont proposées. Pas de sources, hélas...
LinuxPi - Jorg Arndt Mail
de l'auteur - Télécharger
Ce programme est un portage de WinPi sur
Linux, il en possède donc les avantages et les inconvénients
comme une certaine lenteur.
BlockPi Page
de l'auteur - Télécharger
- Explications
Un programme très rapide bien qu'il
utilise une série, en l'occurence celle de Gosper. Facile à comprendre, il peut aller jusqu'à 6 millions de décimales, mais rrequiert un temps de calcul en n2.
Pidecimal.c - Fabrice Bellard Page
de l'auteur - Télécharger
Calcul du n-ième digit de Pi sans connaître
les précédentes par notre polytechnicien préféré !
Pi4 - Kurt Van Branden Mail
de l'auteur - Télécharger
Un petit dernier ? Basé sur la MAG.
Et toujours plus lent.
Pi10 - Kurt Van Branden Mail
de l'auteur - Télécharger
Eh bien non, encore un... Basé sur l'algorithme
à convergence quartique des Borwein. Et toujours
plus lent.
Tiny - Dik T Winter Télécharger Le fameux programme de Dik T Winter du
cwi institute de Hollande. Repose sur la même série d'Euler
que les algorithmes compte-gouttes. 158 caractères pour 2400 décimales
!
Tiny2 - Sebastian Wedeniws Télécharger
Encore plus fort, 142 caractères, mais je n'ai
pas testé le nombre de décimales que le programme obtient
Buf1.class - George Reese Page
de l'applet - Télécharger
Une simulation de lancer d'aiguilles dans le cadre du fameux problème
de l'aiguille de Buffon.
Carlo.class - K. Kossert Page de l'applet - Télécharger
Une simulation de lancer de fléchettes cette fois-ci pour estimer
Pi au moyen de la méthode de Monté-Carlo.
Ramanujan.class - Gary Talkiewicz Page
de l'applet - Télécharger
Une jolie interface, et une belle rapidité, mais un peu limité malheureusement.
Machin.class - John Bohr Page
de l'applet - Télécharger
Un affichage linéaire, et une interface pratique pour ce programme
à base de formule de Machin.
Calculatrices
PICAL - Jean-Christophe BENOIST Télécharger
Programme pour HP-49 basé sur l'algorithme compte-goutte de Gosper.
Très petit (256 octets), il fournit 1000 décimales en 10
minutes. On entre le nombre de décimales souhaité et on
lance le programme.
Librairies mathématiques - FFT ou multiplication
rapide d'entiers
FFT - Takuya OOURA Page
de l'auteur - Télécharger
C'est un "package" pour calculer avec les transformations de
Fourier, cosinus et sinus discrètes de séquences de nombres
à une dimension et de longueur 2^N. Contient les sources c et fortran,
et le programme fftpi mentionné plus haut qui est particulièrement
rapide.
FFTW Page du site - Page
des téléchargements
Un site se fait une spécialité
de la transformée de Fourier rapide, c'est fftw.org, allez y jeter
un coup d'oeil. La majorité des plates formes ont droit à une
version compilée de ces librairies.
HFloat - Jorg Arndt Page
du site - Mail de l'auteur
Un passionné du calcul informatique,
on trouvera sur sa page une librairie mathématique traitant du calcul
des longs réels.
APFloat - Mikko Tommila Page
du site - Mail de l'auteur
Des librairies de multiplication rapide,
par l'auteur encore une fois d'un programme de calcul des décimales
de Pi.
CLN - Bruno Hable Page
du site - Mail de l'auteur
Des librairies de multiplication rapide également,
par un informaticien français, cette fois-ci.