À LA POURSUITE DE
1[
Nil desperare (Ne désespérer de rien) Exergue du journal mathématique de Gauss où l'auteur démontre le lien entre le calcul de 1t et la moyenne géométrico-arithmétique
JORG ARNDT
& CHRISTOPH HAENEL
TRADUCTION & ADAPTATION
HENRI LEMBERG & FRANÇOIS GUÉNARD
À LA POURSUITE DE
VUIBERT UN LIVRE DES EDITIONS SPRINGER
Également aux éditions Vuibert : Pierre DUGAc,
Histoire de l'analyse. Autour de la notion de limite et de ses voisinages, 432 pages texte édité par Bernard BRU et Roger LAURENT, préface de Jean-Pierre KAHANE
Albert DUCROCQ & André WARUSFEL, Mathématiques: plaisir & nécessité, 384 pages G. H. HARDY & E. M. WRIGHT,
Introduction à la théorie des nombres, traduit par François SAUVAGEOT,
coédition Vuibert/Springer, 448 pages François Lo JACOMO,
Visualiser la quatrième dimension, illustré par Daniel MULLER, 128 pages
Claudine ROBERT, Contes & décomptes de la statistique. Une initiation par l'exemple, illustré par Yves GUÉzou, 208 pages Sous la direction de H.-D. EBBINGHAUS,
Les nombres. Leur histoire, leur place et leur rôle, de l'Antiquité aux recherches actuelles, traduit de l'allemand et adapté par François GUÉNARD, 464 pages Richard ISAAc, Une initiation aux probabilités, traduit de l'anglais par Roger MANSUY, coédition Vuibert/Springer, 256 pages Sous la direction de Jean-Michel KANTOR, avec le concours de Claude SABBAH,
Où en sont les mathématiques?
coédition Vuibert - Société mathématique de France, 448 pages et des dizaines d'autres ouvrages de sciences et d'histoire des sciences: www.vuibert.fr Ce livre est initialement paru en allemand sous le titre Pi. Algorithmen, Computer, Arithmetik © Springer Verlag, Berlin Heidelberg, 1998,2000 Photographie de couverture: Michel Sittler Couverture: Arnaud Martin Maquette, composition & mise en page des traducteurs Relecture et correction: Dominique Sabrier ISBN: 2 711771709 ISBN 2007: 978-2-7117-7170-7 La loi du 11 mars 1957 n'autorisant aux termes des alinéas 2 et 3 de l'article 41, d'une part, que les « copies ou reproductions strictement réservées à l'usage privé du copiste et non destinées à une utilisation collective» et, d'autre part, que les analyses et les courtes citations dans un but d'exemple et d'illustration, « toute représentation ou reproduction intégrale, ou partielle, faite sans le consentement de l'auteur ou de ses ayants droit ou ayants cause, est illicite» (alinéa 1" de l'article 40). Cette représentation ou reproduction, par quelque procédé que ce soit, constituerait donc une contrefaçon sanctionnée par les articles 425 et suivants du Code pénal. Des photocopies payantes peuvent être réalisées avec l'accord de l'éditeur. S'adresser au Centre français d'exploitation du droit de copie: 20 rue des Grands Augustins, F-75006 Paris. Tél. : 01 44074770
© Vuibert, mars 2006 - 20 rue Berbier-du-Mets, F-75647 Paris cedex 13
Table des matières 1
2
3
L'état de l'art
1
1
Les records
1
2
Un peu d'histoire
5
3
Algorithmes, ordinateurs et arithmétique.
15
4
Pourquoi? . . . . . . .
17
5
De nouveaux objectifs
19
Dans quelle mesure
7r
est-il aléatoire?
21
1
Probabilités . . .
21
2
7r
est-il normal? .
22
3
Et si
4
Le phénomène 163 . . . . .
25
5
D'autres résultats statistiques
29
6
7r
et les intuitionnistes . . . .
30
7
Représentation en fractions continues .
7r
25
n'était pas normal?
Les raccourcis vers
31
35
7r
1
Des approches « obscures» de
2
Petit et beau . . . . . . . .
37
3
Un crible pour approcher
37
4
7r
5
Par mémorisation .
44
6
Bit par bit ..
47
7
Raffinements
48
8
7r
7r
7r
et l'aléatoire: méthodes de Monte-Carlo
habite à Paris.
35
38
49
Table des matières
VI
4
5
6
7
Approximations de
9
et fractions continues
51
1
Les approximations rationnelles
51
2
Autres approximations . . .
55
3
Approximations de jeunesse
65
4
À propos des fractions continues
66
Les formules de l'arc tangente
11
1
La formule de John Machin .
71
2
D'autres formules liées à l'arc tangente
74
Les algorithmes du goutte à goutte
79
1
L'algorithme du goutte à goutte en détail
80
2
Suite d'opérations
82
3
Une variante plus rapide
84
4
Algorithme du goutte à goutte pour e
86
Gauss et 1
8
7r
89
7r
La formule MAG pour
7r
90
2
L'algorithme MAG de Gauss
93
3
La variante de Schonhage
95
4
Histoire d'une formule
98
7r
107
1
Les séries de Ramanujan
108
2
La vie extraordinaire de Ramanujan
110
3
Impulsions . . . . . . . . . . . . . . .
114
Ramanujan et
Les frères Borwein et
7r
10 L'algorithme BBP
117
121
1
Exponentiation binaire . . . . . . . . . .
125
2
Un programme en C pour la série BBP .
127
3
Des améliorations . . . . . . . . . . . .
130
Table des matières
VII
11 L'arithmétique en grande précision
135
1
La multiplication . . . . . . . .
135
2
La multiplication de Karatsuba
136
3
La multiplication par transformation de Fourier rapide (TFR) 139
4
Division....
149
5
Racines carrées
150
6 7
Racines n-ièmes
153 154
Calcul de sommes de séries
12 Questions diverses
157
1
Un questionnaire sur
7r . . . . . .
157
2
Il faut laisser les nombres parler .
158
3
Une « preuve» que
159
4
Le grand changement . . .
159
5
Presque mais pas tout à fait
159
6
Et pourquoi toujours plus?
161
7
7r
et les hypersphères . .
161
8
Viète x Wallis
9
La quadrature du cercle avec des trous
166
10
L'entonnoir infini
167
13 L'histoire de
=c:
7r
=
2
OsIer.
164
169
7r
1
Le symbole
7r
169
2
L'Antiquité.
171
3
Les polygones
174
4
Les expressions infinies
188
5 6
Les algorithmes ultra-performants La chasse aux décimales individuelles de
14 Notes historiques
202 7r
206
211
1
La plus ancienne quadrature du cercle?
211
2
Une loi sur
..... .
213
3
L'histoire de Bieberbach
215
7r
Table des matières
VIII
15 L'avenir: calculs sur le Net
217
1
L'algorithme binsplit ..
217
2
Le projet
221
7r
sur Internet
16 Une collection de formules
223
17 Tables des chiffres de
247
7r
1
Cent premières décimales de quelques constantes
247
2
Décimales de
7r
(de 0 à 1 800 en base 10) . . .
248
3
Décimales de
7r
(de 1 801 à 3 500 en base 10)
249
4
Décimales de
7r
(de 3 501 à 5 000 en base 10)
250
5
Décimales de
7r
(de 0 à 1 800 en base 16) . . .
251
6
Décimales de
7r
(de 1 801 à 3 500 en base 16)
252
7
Décimales de
7r
(de 3 501 à 5 000 en base 16)
253
8
Développement en fraction continue de
9
Développement en fraction continue de 7r (éléments de 701 à 1 400) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
10
Développement en fraction continue de 7r (éléments de 1 401 à 2 000) . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
7r
(éléments de 0 à 700)254
256
Bibliographie
257
Index général
267
Index des mathématiciens
271
Avant-Propos
Ce livre décrit, en des termes accessibles à tout public disposant de connaissances mathématiques de base, les derniers et les plus fascinants résultats mathématiques et numériques sur le nombre 7r. Ce nombre célèbre, qui vaut approximativement 3.1415, fut historiquement défini comme le rapport de la circonférence d'un cercle à son diamètre, rapport qui ne dépend pas de la taille du cercle. L'étude de ce nombre dure depuis plus de 4 000 ans. Cependant, aucune période de l'histoire de 7r ne fut aussi productive que l'époque contemporaine. Au cours des vingt dernières années, les records mondiaux de calculs de décimales de 7r ont explosé, et le détenteur actuel du record est un professeur japonais qui en novembre 2002 a calculé 1.2 million de millions (i.e. 1.2 x 10 12 ) décimales grâce à un super-ordinateur. Comment a-t-il fait et, surtout, pourquoi l'a-t-il fait? Dans notre ouvrage, une attention toute particulière est portée aux nouvelles méthodes de calcul dont la vitesse surpasse tout ce qui était imaginable avec les anciennes méthodes. La plupart de ces nouveaux algorithmes présentent la particularité plaisante d'être faciles à comprendre. Alors qu'autrefois le temps requis pour calculer un nombre donné de décimales augmentait de manière exponentielle avec ce nombre de décimales, on dispose maintenant d'algorithmes pour lesquels le temps de calcul est pratiquement une fonction linéaire du nombre de décimales recherché. Une autre innovation moderne très récente est l'algorithme BBP mis au point par trois chercheurs canadiens: il permet de calculer directement n'importe quel chiffre du développement héxadécimal de 7r sans devoir aussi calculer tous les chiffres qui le précèdent dans ce développement. En septembre 2000, grâce à un calcul effectué par quelques milliers d'ordinateurs sur Internet, Colin Percival (adolescent à l'époque) utilisa cette méthode pour calculer le mille-billionième (i.e. le 10 15 -ième) chiffre du développement binaire de 7r. Le livre est accompagné d'une page sur le site Vuibert qui contient le code source de chacun des programmes décrits en clair dans le livre. Sur cette page
x se trouvent également des programmes complets, ainsi que les 400 millions premières décimales de 7f, et des renvois vers des sites consacrés à 7f qui présentent un intérêt particulier. Outre les aspects numériques, le livre traite de bien d'autres facettes intéressantes de 7f : par exemple les quarante siècles de sa fascinante histoire. Bien des grands mathématiciens y laissèrent leur empreinte: citons, entre autres, Archimède, Gauss, Legendre, Ramanujan et maintenant, les frères Jonathan et Peter Borwein. Leur quête et celle d'innombrables autres mathématiciens y est contée de manière divertissante. Le livre consacre également une part importante aux aspects curieux et humoristiques de 7f. On donne ainsi les noms de divers « clubs d'amateurs de 7f ». On pourra aussi admirer le plus court programme de calcul de 7f jamais écrit, qui permet de calculer plus de mille décimales, alors que l'écriture en C du programme ne demande que 133 caractères. Beaucoup d'amis et de lecteurs nous ont aidés pour les deux éditions allemandes et l'édition anglaise qui ont précédé cette édition française. Nous aimerions particulièrement remercier le professeur F. L. Bauer de l'université Technique de Munich pour toutes les idées et les suggestions qu'il nous a faites afin d'améliorer tous les thèmes abordés dans ce livre. Nous nous sommes sentis très honorés de recevoir les encouragements et les conseils du professeur Bauer. Nous sommes impatients de recevoir les commentaires des lecteurs de l'édition française. Une adresse électronique sera créée sur le serveur Vuibert à cet effet. J6rg Arndt et Christoph Haenel
1 L'état de l'art Au mois de novembre 2002, une nouvelle étonnante fit le tour du monde: le professeur Yasumasa Kanada de l'université de Tokyo avait établi un nouveau record mondial de calcul des décimales de 7r; il venait de calculer 1 241 100 000 000 décimales. Accompagné de son équipe, Y. Ushiro, H. Kuroda et M. Kudoh, et du personnel de la société Hitachi, ils avaient effectué trois calculs indépendants en utilisant deux algorithmes différents, qui avaient fourni des résultats identiques. Ce calcul avait pris environ 600 heures machine d'un super ordinateur Hitachi. 1
1
Les records
Avec cette nouvelle percée, l'humanité possède maintenant 1.2411 billion de chiffres du développement décimal de 7r, commençant avec 3.1415. Cela fait vraiment beaucoup de chiffres. Les faire défiler très rapidement sur un écran prendrait plusieurs semaines. Si l'on ne voulait imprimer que 100 millions de chiffres du développement de 7r, cela prendrait environ 10 000 feuilles de papier, et il resterait encore 206 milliards de chiffres. Ils occuperaient 30 000 volumes de 1 000 pages chacun, mais on pourrait aussi les faire tenir sur un seul disque dur de grande capacité. Lorsque Yasumasa Kanada annonça ce nouveau record, il s'était passé trois années depuis qu'il avait annoncé le précédent, qui était de 206.1 milliards de décimales de 7r. Ce dernier record venait lui-même 2 ans après le précédent, lequel était de 51,5 milliards de chiffres. En 1981, le record était de 2 millions de chiffres, et il a été depuis battu 26 fois, doublant presque chaque année. Depuis quelques années, Kanada est le seul mathématicien à établir de nouveaux records mondiaux de calcul des décimales de 7r. En 1986, quand le record n'était encore que de 30 millions de chiffres, il avait encore quelques concurrents dans la course. Dix ans plus tard, il n'en restait plus que Kanada au Japon et les frères Chudnowsky aux États-Unis. Ils prenaient l'avantage lhttp://www.super-computing.org
L'état de l'art
2
à tour de rôle; cela jusqu'en 1996 où le seuil des 8 milliards de décimales fut franchi. Depuis 1997 et le record de 51 milliards de décimales, il ne reste en course que Kanada et son équipe. Pour atteindre ces records mondiaux, on s'est généralement servi de superordinateurs spécialement développés pour «broyer» des chiffres et ayant coûté des millions de dollars. Par exemple, Kanada réalisa son dernier record sur un Hitachi SR8000 équipé de 128 processeurs. Néanmoins, si l'on est un peu bricoleur et astucieux, il est possible de construire et d'utiliser de petits ordinateurs pour effectuer des calculs de 7r qui soient encore compétitifs. L'histoire des records du monde nous en donne plusieurs exemples. C'est ainsi qu'il y a quelques années les frères Chudnowsky calculèrent 8 milliards de décimales de 7r à New York sur un ordinateur qu'ils avaient eux-mêmes construit à partir de pièces achetées dans un grand magasin [92J. Et pour les micro-ordinateurs actuels, le programme PiFast de Xavier Gourdon 2 permet de calculer 128 millions de décimales de 7r en quelque 15 minutes et a permis à son auteur de détenir le record mondial de décimales calculées sur un PC, avec 50 milliards. On pourrait s'attendre à ce que Kanada enregistre son calcul de 7r sous forme compressée 3 sur un disque dur de plus de 100Go et le mette en vente pour les personnes intéressées. Mais il considère son approximation de 7r comme étant « non commerciale» et il ne la rendra publique qu'après l'avoir soigneusement vérifiée et s'être assuré qu'elle ne serve qu'à des fins scientifiques. Il a décidé de permettre seulement le téléchargement des premiers milliards de décimales à partir de son serveur Internet de Tokyo. Même avec les nouvelles liaisons à très haut débit, cette tâche pourrait demander quelques heures: sur une ligne téléphonique ordinaire, le transfert d'un milliard de décimales demande un jour complet. Même si le débit des connexions augmente de façon spectaculaire, la puissance des ordinateurs s'accroît de manière similaire, il est bien possible qu'il soit bientôt plus simple de calculer soi-même le nombre de décimales de 7r dont on pourrait avoir besoin. Un tel calcul est aujourd'hui facile à faire tant qu'on reste sur des séquences de quelques centaines de millions de décimales. Et un programme de calcul de 7r, aussi complexe soit- il prendra toujours moins de place que le nombre de chiffres qu'il permet de calculer. Quel est intérêt de disposer d'une séquence de décimales de 7r aussi longue? Une utilisation évidente est la recherche de sous-séquences remarquables, que ce soit par leur fréquence ou par les chiffres qui la composent, par exemple une très longue séquence de décimales toutes égales. L'analyse de quelques milliers de chiffres de la suite des décimales peut sans doute se faire « à la 2http://numbers.computation.free.fr/Constants/PiProgram/pifast.html les décimales de 7r étant (probablement) uniformément distribuées, N décimales tiennent sur 1/(8Iog 2)N ~ O.4N bits. 3 car
3
Les records
main», mais au-delà, il faut un ordinateur. Sur le serveur Vuibert, on trouvera un petit programme de recherche avec lequel on pourra jouer quelques heures en étudiant la séquence de 400 millions de décimales qui se trouve également sur le serveur. Les décimales de 7f se comportent sans doute comme si elles avaient été tirées « au hasard», par une succession de tirages sans mémoire des tirages antérieurs. De tels tirages sont associés à une loi de probabilité que l'on appelle loi binomiale. Lorsqu'on enseigne cette loi aux étudiants, on leur apprend la régularité des moyennes, ici celle de l'apparition de chaque chiffre, de chaque couple de chiffres, de chaque triplet, etc., lorsque la longueur de la séquence considérée tend vers l'infini. Et l'on insiste surtout sur le fait que derrière cette régularité se cache une irrégularité qui est la règle lorsqu'on considère le nombre d'occurrences plutôt que leurs moyennes. La suite des décimales de 7f constitue une formidable illustration concrète de cette irrégularité. Ainsi, lorsqu'on prend au hasard une séquence de 6 chiffres consécutifs du développement décimal de 7f, la probabilité d'obtenir une séquence dont les six chiffres soient égaux est 10- 5 = 0.00001 = 1/10000. La première occurrence de cet événement se produit à la position 768, où l'on trouve six chiffres 9 consécutifs. Certains amateurs de 7f ont donné un nom à cette étape du développement: le point de Feynmann. C'est parce que Richard Feynman (1918-1988), prix Nobel de physique, expliqua un jour que s'il devait réciter les chiffres de 7f, il les donnerait exactement jusqu'à ce point et conclurait alors par et ainsi de suite. Le bloc suivant de six chiffres consécutifs identiques arrive beaucoup plus tard, à la position 193 034. Il s'agit encore une fois d'une séquence de chiffres 9. Le premier zéro de l'écriture décimale de 7f se situe en position 32, un peu plus loin que ce que l'on attendrait. Cette propriété de 7f a facilité la tâche des poètes de 7f cherchant à composer des poèmes dans lesquels le n-ième mot a un nombre de lettres égal au chiffre placé en n-ième position de l'écriture décimale de 7f. Stricto sensu, un zéro du développement devrait mettre fin au poème. De tels poèmes ont été écrits dans beaucoup de langues. Voici le début de deux d'entre eux, un en français, et un en anglais. Que j'aime à faire connaître un nombre utile aux May l have a large container of coffee? Cream and 9 2 6 5 3 3 1 4 1 5
sages sugar?
5
Où la séquence 0123456789 apparaît-elle pour la première fois dans le développement de 7f? C'est seulement en 1997, avec l'un des derniers records, que l'on a enfin pu répondre à cette question fondamentale! Cette séquence arrive pour la première fois en position 17 387 594 880, loin au-delà de la
L'état de l'art
4
6.4 milliardième décimale, qui était auparavant la dernière connue. Une séquence voisine, formée de dix chiffres consécutifs tous différents, arrive pour la première fois beaucoup plus tôt, en position 60. Dès le XVIIe siècle, des mathématiciens avaient calculé 7r aussi loin, comme nous l'apprend l'histoire de 7r. Les fanatiques des nombres pourraient peut-être chercher dans le développement de 7r des positions auto-référentielles, dans lesquelles la séquence numérique est la même que la position elle-même. La première position de ce type arrive au tout début, en position 1. Les suivantes sont en 16 470 et 44 899, mais la quatrième ne se trouve qu'en 79 873 884. On ignore encore s'il y a d'autres positions auto-référentielles. Beaucoup de gens se demandent où se trouve dans le développement de 7r leur numéro de téléphone, de sécurité sociale, ou leur date de naissance: où suis-je dans 7r? Par exemple, les dates de naissance des deux auteurs sont en positions 5 407 560 et 14 666 671. On pourrait imaginer d'imprimer sur ses cartes de visite des positions de décimales de 7r donnant des informations personnelles. Il y a sur Internet un jeu comme cela, qui se limite actuellement à 50 millions de décimales. 4 On est sûr que, quelque part dans le développement de 7r, on trouve toute séquence finie de chiffres. Moyennant un codage approprié, on y trouve donc tout texte, du plus court au plus long, dans n'importe quelle langue. On y trouve aussi tout morceau de musique. En revanche, le développement de 7r ne contient aucune suite infinie autre que ses propres suites extraites; il contient celui de 7r lui-même (une seule fois), et il ne contient par exemple ni celui de 7r + 1, ni celui de )2. On peut représenter l'ADN d'un être humain avec environ 3.6 milliards de chiffres, de sorte que la séquence traduisant votre ADN figure peut-être dans la séquence de décimales de 7r déjà calculée. Peut-être, mais c'est hautement improbable. Par exemple, le nombre de décimales que Kanada a calculées ne contient même pas la totalité des nombres de 20 chiffres, qui est de 10 20 c'està-dire beaucoup plus que les quelques lOll chiffres obtenus par Kanada. Cela représente une partie encore plus faible des nombres à 21 chiffres. Cela rend tout à fait invraisemblable le fait que cette séquence puisse contenir disons la Bible. On estime le codage numérique de cette dernière à 107 chiffres, ce qui signifie une espérance du temps d'attente pour trouver une séquence 107 la représentant d'environ 10 chiffres, tandis que nous n'en avons pour 1 l'instant qu'un peu plus de 1010 . Pourra-t-on un jour calculer un tel nombre de décimales de 7r? On pense que non, car l'univers ne contient qu'environ 10 79 particules élémentaires; si l'on 4http://www.aros.net/-angio/pi_stuff/piquery
5
Un peu d'histoire
transformait l'univers tout entier en un gigantesque ordinateur, celui-ci ne pourrait stocker qu'à peu près 10 76 décimales de 7r, ce qui est peu comparé 107 aux 10 chiffres qu'il faudrait en moyenne calculer pour obtenir une séquence pouvant représenter la Bible. Il est cependant, tout à fait concevable que l'on puisse calculer individuellement des chiffres occupant des positions de cet ordre de grandeur.
2
Un peu d'histoire
Ceux qui recherchent la célébrité pourront s'attaquer au problème ouvert de la normalité ou de la non-normalité de 7r. Si 7r n'était pas normal, cela signifierait que certaines séquences de chiffres se trouvent plus fréquemment que d'autres dans le développement de 7r. La démonstration d'un tel résultat ferait assurément les titres des journaux. Jusqu'à présent, personne n'a trouvé de partie du développement qui suggère que 7r ne puisse être normal. Les tentatives utilisant le développement hexadécimal, qui commence par 3.243F6A8885, se sont révélées aussi infructueuses que celles utilisant le développement décimal. Aucune irrégularité non plus n'est apparue dans la représentation simple de 7r en fraction continue, i.e. dans la représentation de 7r sous forme d'une fraction infinie dont les numérateurs successifs sont tous égaux à 1, 7r
1
= 3 + ----------1
7+-------1
15+------1+
1
1 292+-1 + ...
Les fractions continues simples d'autres nombres transcendants comme celle de e font apparaître des modèles reconnaissables. Ces résultats expérimentaux ont conduit les mathématiciens à conjecturer que 7r devait être un nombre normal. Mais à ce jour, personne n'est parvenu à démontrer ou à infirmer cette conjecture. Peut-être y a-t-il quelque part dans le développement décimal de 7r une propriété remarquable qui n'attend que d'être observée. Nous aborderons cette question dans le prochain chapitre. Il n'est pas certain que 7r soit normal. En revanche, il est définitivement acquis que c'est un nombre irrationnel, comme le démontra en 1766 le mathématicien alsacien Johann Heinrich Lambert (1728-1777) . Un nombre est dit irrationnel s'il n'est pas rationnel, c'est-à-dire s'il ne peut pas être représenté comme un quotient de deux entiers. Par exemple, la fraction 355/113 = 3,141592 ... est une très bonne approximation de 7r dont elle
6
L'état de l'art
donne 6 décimales correctes. Elle n'est néanmoins pas égale à 'if, et aucune autre fraction non plus. L'approximation 355/113 fut découverte en Chine au Ve siècle ap. J.-C. par Tsu Chhung-Chih et, durant presque 800 ans, ce fut la meilleure approximation de 'if disponible. Cette approximation est décrite, accompagnée de quelques autres, au chapitre 4. On sait également que 'if est transcendant. En 1882, une preuve célèbre, mais extrêmement compliquée en fut fournie par le mathématicien munichois Ferdinand Lindemann (1852-1939), plus de 100 ans après que Lambert eut démontré l'irrationalité de 'if. Le théorème de Lindemann affirme qu'il n'existe aucun polynôme à coefficients rationnels dont 'if soit une racine. Il est vrai, par exemple, que 9'if4 - 240'if 2 + 1492 est très proche de 0 (plus précisément, -0.02323 ... ), mais il est impossible de trouver une telle expression qui donne exactement O. Il est surprenant que, plus d'un siècle après la démonstration de la transcendance de 'if, on ne sache pas grand chose de plus sur 'if. Certes on sait maintenant que 'if2, e 1r et 'if + ln 2 + V2ln 3 sont transcendants. Mais on ignore encore quelle est la nature rationnelle ou non de quantités similaires telles que e+'if, e''if, 'if/e, ln 'if ou 'ife. Beaucoup d'autres questions concernant 'if n'ont pas de réponse. Par exemple on ne sait toujours pas si 'if est un nombre normal ou pas, et il ne semble pas qu'on soit près de trouver une réponse, car jusqu'à présent, personne n'a d'idée sur la méthode qu'on pourrait utiliser pour attaquer ce problème. Et tout ce que nous apporte le calcul des 206.1 premiers milliards de décimales de 'if, c'est une information triviale telle que la fréquence et la distribution de brèves séquences de chiffres [11, p. 203]. Le nombre 'if est l'un des plus vieux sujets de recherche pour l'humanité et c'est sans doute le sujet qui a, dans l'univers des mathématiques, suscité le plus de recherches. Les hommes se s'intéressent à 'if depuis plusieurs milliers d'années. Par exemple, en 2000 av. J.-C., les Babyloniens et les Égyptiens avaient déjà découvert des approximations de 'if à moins de 0.02 près. Durant plus de 4 000 ans, les chercheurs continuèrent inlassablement à essayer de découvrir les secrets de 'if. L'histoire fascinante de cette quête est traitée plus en détail dans le chapitre 13. Quand on considère tout le travail qui a été fait sur 'if, le peu que l'on en sait est assez surprenant. Mais quand on sait que la théorie des nombres n'a pas d'égal dans l'art de poser des questions simples dont les réponses soient aussi compliquées, ce n'est guère surprenant. Un exemple célèbre est ce qui fut longtemps connu comme le dernier théorème de Pierre de Fermat (1601-1665) de 1637, qui affirme que si n > 2, l'équation xn + yn = zn n'a pas de solutions entières. Ce fut pendant près de deux siècles le problème
Un peu d'histoire
7
de mathématiques le plus célèbre, et bien que son énoncé fût simple et compréhensible par tous, il ne fut résolu qu'en 1994 par Andrew Wiles, qui en donna une solution extrêmement compliquée prenant plus d'une centaine de pages. En revanche, il reste en théorie des nombres beaucoup de problèmes ouverts qui sont faciles à formuler mais qui résistent à toutes les tentatives de résolution; par exemple une question célèbre est de savoir s'il existe une infinité de paires de nombres premiers dont la différence soit égale à deux, comme {5, 7}, {11, 13}, {17, 19}, ou {10 007,10 009}. Une question simple que personne n'a encore résolue. Avec sa preuve de la transcendance de 7r, Lindemann régla un autre problème qui avait préoccupé les cerveaux des meilleurs mathématiciens et philosophes depuis les Grecs anciens et qui était déjà connu en 414 av.J.-C. puisqu' Aristophane en parle dans sa comédie « Les Oiseaux ». C'est le problème de la quadrature le cercle, qui consistait à trouver une construction à la règle et au compas d'un carré dont l'aire soit égale à celle d'un disque donné. Si l'on note r le rayon du disque, on requiert de construire le côté de longueur x d'un carré dont l'aire x 2 soit égale à celle du disque, 7rr 2 . La longueur des côtés du carré doit donc être égale à x = ryl7f . Il est en général impossible de construire à la règle et au compas un segment de longueur donnée. Seules les longueurs qui satisfont à des conditions précises peuvent l'être: en font partie les longueurs entières, celles qui résultent d'opérations rationnelles telles que l'addition ou la division, ou de la formation de racines carrées [32, p. 347J. On peut par exemple construire un segment de longueur iVI7, mais pas un segment de longueur 3{Y3. L'expression x = ryl7f contient une multiplication et une racine carrée, et satisfait donc aux règles mentionnées. Mais pour résoudre la quadrature du cercle, il faudrait pouvoir construire un segment de longueur yI7f , et c'est justement ce dont le théorème de Lindemann montre l'impossibilité. Il s'ensuit qu'il est impossible de construire à la règle et au compas un carré dont l'aire soit égale à celle d'un disque donné. En revanche, si les conditions requises sont affaiblies, c'est possible. Par exemple, en géométrie hyperbolique il y a un disque dont l'aire est égale à 7r, qui peut être transformé en un carré de même aire, à l'aide d'une règle et d'un compas; mais dans cette géométrie non euclidienne, une ligne droite ne peut pas être tracée avec une règle. En 1882, en montrant que ce problème n'admet pas de solution, Lindemann résolut une fois pour toutes le problème de la quadrature du cercle. On aurait pu s'attendre à ce que toutes les tentatives pour résoudre le problème cessassent aussitôt. Il n'en fut rien! Beaucoup de gens ont continué à s'attaquer au problème, et aujourd'hui encore, cela perdure. L'Américain Dudley a consacré une monographie à ces gens qui deviennent obsédés par un problème mathématique, qu'il qualifie en anglais de mathematical cranks. Outre les obsédés du grand théorème de Fermat, ceux de la conjecture de Riemann, et de
L'état de l'art
8
quelques autres problèmes, il mentionne quelques « quadrateurs de cercles», tel le constructeur de navires O. Z. (Otto Zimmermann) de Hambourg, qui publia en 1983 un livre intitulé « 7r est rationnel». Dans son livre, Dudley propose un classement de ceux qui se sont attaqués, ou s'attaquent encore au problème de la quadrature du cercle. Selon cette classification, O. Z. est un membre de l'espèce relativement rare de ceux qui font évoluer leur opinion au fil du temps: avant 1975, sa construction conduisait à une valeur de 7r égale à 3.141 592 653 5576, alors que jusqu'en janvier 1976 elle fut de 3.141 592 653 598, tandis qu'ensuite, elle se simplifia à exactement 3.1428. est le rapport de la circonférence c d'un cercle sur son diamètre d; autrement dit, 7r = cid. C'est la définition géométrique classique du nombre 7r. Une deuxième définition géométrique énonce que 7r est le rapport de l'aire A d'un disque sur le carré du rayon r de ce disque; autrement dit, 7r = Alr 2 . On en déduit l'assertion évidente selon laquelle le rapport de l'aire du disque sur l'aire du carré circonscrit à ce disque vaut 7r 14. 7r
Plusieurs milliers d'années av. J.-C., les plus anciennes cultures indoeuropéennes étaient déjà conscientes qu'il existait un rapport constant entre la circonférence et le diamètre de tous les cercles, grands ou petits. Le second rapport fixe, celui qui relie les aires, fut lui aussi découvert dans un passé incroyablement lointain, mais peut-être cela est moins clair que pour le premier. Toutefois, ce n'est sans doute que dans la Grèce antique que fut identifiée l'identité commune des deux rapports, faisant intervenir un même nombre. Ce fait n'est pas immédiat à percevoir. La figure ci-dessous est peut-être l'illustration la plus simple de ce lien.
;:::; rayon ;:::; circonférence
Dans l'image de gauche, un cercle a été partagé en un grand nombre de secteurs égaux. Si l'on déplace ces secteurs pour les mettre côte à côte, on obtient l'image de droite, où les secteurs remplissent la moitié un rectangle. Plus le nombre de secteurs est grand, plus la longueur de la base de l'image de droite (la longueur du rectangle) se rapproche de la longueur de la circonférence du cercle, tandis que la hauteur du rectangle tend vers la longueur du rayon du cercle. Les secteurs ne remplissent que la moitié de la superficie du rectangle, et par suite, en passant à la limite, l'aire de ce rectangle est égale à deux fois l'aire du disque. Ainsi, 7r apparaît-il à la fois dans la formule donnant l'aire d'un disque, et dans celle donnant la longueur d'un cercle. Outre la définition géométrique de
7r,
il y en a beaucoup d'autres, certaines
9
Un peu d'histoire
provenant de contextes très différents. Par exemple, problèmes de probabilités.
TI
apparaît dans des
Quelle est la probabilité qu'une pièce lancée un nombre pair de fois tombe un même nombre de fois sur pile et sur face? La réponse est facile : si la pièce est lancée 2n fois, avec deux résultats possibles à chaque fois, il y a 2 2n résultats possibles, et façons d'obtenir un nombre de lancers ayant
e:)
donné face égal à n. Ainsi la probabilité p vaut-elle
(1.1 )
p=
(2n2n ) 2 n
c'est-à-dire
1 x 3 x 5 x ... x (2n - 1) 2 x 4 x 6 x ... x 2n
Avant l'arrivée des ordinateurs, le calcul de p pour de grandes valeurs de n était fastidieux, et les mathématiciens de l'époque pré-informatique utilisaient des approximations. Ici, on peut utiliser une formule découverte par John Wallis (1616-1703), faisant intervenir des produits infinis,
(1.2)
3x3x5x5x7x7··· 2x4x4x6x6x8x···
4
Il n'est pas difficile de voir [123] que le produit de Wallis survient dans la formule donnant p, de telle façon que
(1.3)
1 p~--
y7m
Avec 62 lancers, on obtient une probabilité de 0.1. Ainsi nous avons ici une définition de TI ne faisant pas intervenir les cercles. Bien que l'on n'utilise que des entiers, le nombre transcendant TI apparaît encore dans la formule. Le nombre TI figure dans beaucoup d'autres énoncés liés aux probabilités. Il intervient en particulier dans la courbe de Gauss de la loi normale, utilisée par exemple pour les tables de risque des assurances-vie. Ce qui a amené certaines personnes à dire que TI intervient même après la mort ... Il existe même des définitions de TI qui sont plus abstraites, par exemple, des définitions analytiques utilisant des intégrales. En voici deux exemples particulièrement attrayants qui furent découverts par le mathématicien suisse Leonhard Euler (1707-1783).
10
(1.4)
L'état de l'art
7r
=4
1 1
dx
o \.11 - x 4
11 0
x
2
\.11 - x 4
dx
ou
(1.5) On pourra se délecter de toute une gamme de formules sur collection de formules du chapitre 16.
7r
dans notre
Dans leurs cours, certains professeurs de mathématiques emploient encore une autre définition. Selon cette définition, ~ est défini comme le plus petit zéro positif de la fonction cosinus. Comme cette fonction est strictement positive en 0, strictement négative en 2, et qu'elle est continue, elle possède au moins un zéro entre 0 et 2. L'ensemble des zéros de cette fonction continue étant donc non vide, et par ailleurs fermé, il possède un plus petit élément dans le segment [0, 2]. C'est ce zéro que l'on appelle ~. En 1933, aussi incroyable que cela paraisse, l'utilisation de cette définition par le mathématicien Edmond Landau servit de prétexte pour lui faire perdre sa chaire à l'université de Güttingen, en Allemagne; à cette époque, cette définition fut jugée « anti-allemande ». On trouvera au chapitre 14 les détails de cette sordide histoire. Le nombre 7r a fasciné de nombreuses personnes au fil des âges, mais il est vraisemblable qu'il n'y ait jamais eu autant d'amateurs de 7r qu'aujourd'hui. À l'appui de cette thèse, le nombre de sites Internet consacrés à 7r : au moins 200 sites dont c'est le thème principal, et des milliers de pages y faisant référence. On peut trouver sur Internet beaucoup d'informations sur 7r. À consulter en particulier les sites des chercheurs qui se sont illustrés dans le domaine, comme ceux de Yasumasa Kanada et ceux des frères Peter et Jonathan Borwein, qui développèrent les algorithmes que Kanada employa pour exécuter ses calculs de 7r. Les Borwein et nombre d'autres chercheurs ont mis en ligne certains de leurs articles pour qu'on puisse les y télécharger. Il existe également sur Internet nombre de clubs sur 7r. Il est souvent possible d'en devenir membre, mais il faudra généralement passer un examen d'entrée. Celui-ci consiste souvent à réciter par cœur les premières décimales de 7r. Par exemple le «Freunde der Zahl 7r» (Amis du nombre 7r) à Vienne, qui publie aussi un journal appelé « 7r vobis cum », exige de ses membres qu'ils puissent
Un peu
d'histoire
11
réciter par cœur les 100 premières décimales. Si vous souhaitez y adhérer, on verra dans le chapitre 3 quelques moyens mnémotechniques ... Quand on parle de 1f, e n'est jamais très loin. Peut-être est-ce parce que ce nombre, connu comme la « base des logarithmes néperiens », ou comme « le nombre de Neper», e = 2.71 ... est relativement proche de 1f, au moins par le fait qu'il partage avec 1f la propriété d'être transcendant. Une autre raison pourrait être que les deux nombres sont reliés par une merveilleuse formule d'Euler (1.10), que nous allons voir ci-dessous. Autrement, 1f et e n'ont pas grand-chose en commun. Le nombre e ne fut découvert que relativement récemment, il y a environ 400 ans, tandis que 1f est dix fois plus vieux; e est un sous-produit de l'analyse infinitésimale qui fut développée au XVIIe siècle quand les mathématiciens développèrent la notion de limite. C'est ainsi que e fut obtenu. Voici une façon concrète d'introduire e : à l'issue d'une année, avec un taux annuel de 100%, que deviendrait une somme d'argent de 1 unité si les intérêts déjà accumulés étaient replacés, avec des périodes d'intérêt de plus en plus courtes? La réponse est e unités. Pour comprendre le mécanisme, voyons l'effet de la période de calcul des intérêts: avec un calcul annuel, la somme placée deviendrait 2 unités. Avec un calcul semestriel, la somme deviendrait 1.5 = 1 + 1/2 au bout de six mois, puis 1.5 x 1.5 = 2,25 = (1 + 1/2)2 au bout d'un an. Pour un calcul trimestriel, elle donnerait 1 + 1/4 = 1.25 au bout d'un trimestre, puis (1 + 1/4) x (1 + 1/4) = 1.25 x 1.25 = 1.5625 au bout d'un semestre, 1.5625 x 1.25 = 1.95313 au bout de trois trimestres, et enfin 1.95313x 1.25 = 2.44141 au bout de l'année, c'està-dire (1 + 1/4)4. Pour un calcul mensuel des intérêts, au bout de l'année, la somme deviendrait (1 + 1/12)12 = 2.61304. On voit que plus les intérêts sont capitalisés souvent, plus la somme augmente. Si l'on coupe l'année en n, la somme placée devient (1 + l/n)n, et lorsque n tend vers l'infini, le montant tend vers e. On a calculé beaucoup moins de décimales de e que de 1f. Depuis février 1999, 200 millions de décimales ont été calculées par Sébastien Wedeniwski, soit exactement un millième du nombre de décimales de 1f qui ont été calculées. (Les frères Chudnowsky ont prétendu avoir calculé un milliard de décimales de e, mais cela n'a pas été confirmé officiellement.) Cette disparité a conduit certains à supposer que e est plus difficile à calculer que 1f, mais cela n'a jamais été prouvé. Le dernier record du monde de calcul des décimales de 1f fait de ce nombre celui dont on a calculé le plus grand nombre de décimales. Numéro deux dans la liste des nombres dont on calculé le plus grand nombre de décimales, on trouve l'inverse de 1f, 1/1f = 0.318 309 886 61 ... dont on a calculé 206.1 milliards de décimales. Vient ensuite la racine carrée de 2 (J2 = 1.414 213 5623 ... ), avec 137 milliards (~ 237 ) de décimales connues.
12
L'état de ,'art
Les calculs de ces trois constantes ont été exécutés par Kanada. On trouve ensuite (depuis octobre 1999) e = 2.718 281 8284 ... (1 milliard ou 200 millions de décimales connues, comme on l'a vu plus haut), la constante d'Apéry ((3)
=
1 L"3 = 1.202 056 9031 ... (128 millions de décimales) et n
In(2) = 0.693 147 1805 ... (108 millions de décimales). On trouvera sur le site Vuibert un renvoi vers une table des records. On connaît non seulement les 206.1 premiers milliards de décimales de 7r, mais aussi quelques chiffres du développement hexadécimal ou du développement binaire, de rangs plus élevés. Ainsi par exemple, depuis septembre 2000, on connaît le mille billionième chiffre du développement binaire de 7r, un 0 (attention en consultant les sites Internet sur 7r : en français, les millions, billions, trillions, quadrillions ... vont de 106 en 106 , tandis qu'aux USA, ils vont de 10 3 en 10 3 ; ainsi, en français, un billion = 10 12 , tandis qu'en anglais, « one billion» = 109 = un milliard (français)). Ce résultat étonnant a été obtenu grâce à une nouvelle approche du calcul de 7r qui fut découverte par hasard en 1995. Elle est expliquée au chapitre 10. Le calcul des 206.1 premiers milliards de décimales de 7r n'a pas encore été exploité par les artistes, tandis que la conception de formules théoriques reste un art. Il ne fait aucun doute que l'existence de magnifiques formules sur 7r a fortement contribué à le rendre fascinant. Voici une sélection des formules disponibles, par ordre chronologique: 1. François Viète (1540-1603) découvrit en 1593 le premier produit infini de 2
somme -
7r
(1.6)
2 = -V2
V2+V2
VV2+V2
x - - - - x -'------ x ... 2 2 2
-
7r
Cette formule montre que 7r peut être exprimé avec une formule n'utilisant comme seul chiffre que le chiffre 2. (Comparer avec les formules 16.137). 2. Lord William Brouncker (vers 1620-1684) découvrit en 1658 la première fraction continue de 7r : (1. 7)
4
12
- = 1 + ------::---2 3
2 + ------=----
52
2 + ------,,--2
7
2 + ------,;:-2
9
2+-2+ ...
Un peu
d'histoire
13
FRANÇOIS VIÈTE
La caractéristique inhabituelle de ce développement en fraction continue réside dans la présence d'une forme régulière (12,3 2,5 2,72 ... ). Il ne s'agit pourtant pas d'une fraction continue simple, car les numérateurs ne sont pas tous des 1. La fraction continue simple de 7r ne montre, elle, aucune régularité. 3. De 1650 à 1973, pratiquement tous les calculs de 7r furent exécutés en utilisant des formules en arctangente. La formule de ce type la plus fréquemment employée fut celle de John Machin (1680-1752), qui s'en servit en 1706 pour obtenir ce qui constituait alors un record du monde, avec 100 décimales. 7r
1
1
4
5
239
- = 4 arctan - - arctan -
(1.8)
4. La série suivante fut découverte en 1914 par le mathématicien indien S. Ramanujan (1877-1920) ; elle converge extrêmement rapidement. Le calcul de chaque terme de cette série permet d'obtenir 8 décimales supplémentaires de 7r (1.9)
~ 7r
=
J8
~ (4n)! x 103 + 26390n (n!)4 396 4n
9801 L
n=O
L'état de l'art
14
5. De toutes les formules mathématiques sur 1f, la plus belle est assurément celle d'Euler: elle fut découverte en 1743 par le mathématicien suisse Leonhard Euler, et au sein d'une unique formule, elle fait intervenir cinq constantes fondamentales, 1f, e, i, 0 et 1, et quatre opérations de base, la somme, le produit, l'égalité et l'exponentiation:
(1.10)
i1f
e
+ 1 = O.
Cette formule a toujours exercé une certaine fascination, sans doute en raison de son caractère attrayant. Une autre formule relie
1f
et e, sans faire intervenir les nombres complexes:
(1.11)
-=2+4L----=--
e+1
CXl
e- 1
r=l
1
(21fr)2
+1
Encore et toujours, le nombre 1f a inspiré poètes et philosophes. Dans sa nouvelle intitulée « Contact», Carl Sagan imagine un extraterrestre disant à une Terrienne que 1f contient un message crypté important pour l'humanité. Il explique à cette femme que à un endroit précis du développement décimal de 1f, les chiffres cessent soudainement d'être distribués aléatoirement et qu'alors le développement contient une séquence formée de 0 et de 1 représentant l'écriture binaire du produit de 11 nombres premiers. Il s'agit donc d'un message en dimension 11. L'envoyeur utilise ainsi les mathématiques pour communiquer avec des humains. Son message même sera authentifié, car la séquence de 0 et de 1 ne se retrouve que dans le développement décimal de 1f, et ne sera donc trouvé que par des créatures utilisant ce système de numération, naturel lorsqu'on possède dix doigts. Ce message important a été dans 1f durant des milliards d'années, dans l'attente qu'il existe des mathématiciens à dix doigts munis d'ordinateurs assez puissants pour découvrir cette séquence, à l'évidence les hommes de notre époque. De telles histoires illustrent bien l'engouement pour 1f que l'on rencontre partout dans le monde. Et elles sont bienvenues pour les mathématiciens travaillant sur 1f, qui ont toujours besoin de nouvelles raisons pour justifier leurs demandes de crédits de recherche. Indiscutablement, 1f est une constante naturelle valable dans tout l'univers, s'appliquant de la même façon à tous les êtres vivants. Cela pourrait donc constituer un bon point de départ pour établir un contact avec des extraterrestres. D'aucuns ont même suggéré que 1f devrait être peint sur toutes les sondes spatiales quittant notre système solaire.
Algorithmes, ordinateurs et arithmétique
15
Douglas R. Hofstadter fit sensation il y a quelques années avec trois livres remarquables; dans « Métamagicum Il, il écrit « Si 7r était égal à 3, ... !! Ce qu'Hofstadter explique ensuite, c'est que si 7r était égal à 3, personne n'aurait l'idée d'écrire cette phrase. L'emploi du si serait lui aussi inutile, car on écrirait plutôt comme 7r est égal à 3 .... L'égalité 7r = 3 aurait des conséquences considérables : comme l'hexagone est le seul polygone à posséder un rapport périmètre/diamètre égal à 3, tous les cercles seraient des hexagones. Le zéro ne s'écrirait pas comme un rond, mais plutôt comme un hexagone.
3
Algorithmes, ordinateurs et arithmétique
L'histoire des calculs de
7r
peut être découpée en trois phases distinctes. La
première époque commence autour de 250 av.J.-C. avec le mathématicien grec Archimède de Syracuse. Avant lui, seules des méthodes expérimentales avait été employées; il fut le premier à développer une procédure systématique pour approcher 7r avec précision. Il calcula les longueurs de polygones réguliers; il considéra ensuite un cercle, et deux polygones réguliers à n côtés, l'un inscrit dans le cercle, l'autre circonscrit à ce cercle. Les longueurs de ces deux polygones fournissent un encadrement de la longueur du cercle. Plus n augmente, plus l'encadrement est fin. Archimède commença avec des hexagones réguliers et continua avec des polygones à 12,24,48 et enfin 96 côtés. En utilisant cette méthode, il obtint pour 7r l'encadrement 3 + 10/71 < 7r < 3 + 1/7. Les deux valeurs donnent deux décimales correctes de 7r. Dès lors, tous ceux qui trouvaient compliqué de considérer deux nombres pour approcher 7r se contentèrent du majorant, 3 + 1/7, de sorte que cette approximation devint rapidement la valeur standard de 7r utilisée pendant la plus longue période dans le monde entier. Au Moyen Âge on trouvait même des érudits qui croyaient que cette valeur était exacte. Mais plus important que la qualité de l'approximation, fut le fait que la méthode d'Archimède fut reprise et utilisée pendant presque 2 000 ans par tous les mathématiciens travaillant sur 7r. Au fil des siècles, ces mathématiciens augmentèrent le nombre de côtés des polygones employés pour les calculs; c'est ainsi qu'en 1630, lorsque cette ère de l'approximation géométrique s'acheva, on connaissait les 39 premières décimales de 7r. La deuxième époque commença au milieu du XVIIe siècle avec la découverte de l'analyse infinitésimale et des expressions infinies. Une nouvelle méthode, fondée sur l'utilisation de développements en série de la fonction arctangente s'imposa (voir chapitre 5), et occupa le devant de la scène pendant plus de 300 ans, jusqu'en 1980. Le premier calcul poussé de 7r reposant sur cette méthode permit d'obtenir en 1706 exactement 100 décimales de 7r, avec des
16
L'état de l'art
calculs menés à la main; en 1973, un ordinateur permit d'obtenir grâce à cette méthode un peu plus d'un million de décimales. Nous sommes actuellement dans la troisième époque de l'histoire des calculs de décimales de 7r. Elle a commencé autour de 1980 quand des mathématiciens découvrirent comment combiner trois développements récents dans des domaines apparemment indépendants. Le premier développement porta sur une opération arithmétique apparemment simple, la multiplication de nombres longs: c'est l'opération élémentaire intervenant dans les calculs de 7r, et le progrès fut d'accélérer cette opération, ce qui réduisit le temps nécessaire au calcul de la somme d'un nombre donné de termes d'une série. Aussi étonnant que cela soit, c'est seulement en 1965 que fut découverte cette nouvelle méthode de multiplication, connue maintenant comme la multiplication par transformation de Fourier rapide. (TFR) Lorsqu'on double la longueur (i.e. le nombre de chiffres) de deux nombres que l'on multiplie par la méthode scolaire, c'est-à-dire la méthode apprise à l'école primaire, le temps de calcul est multiplié par quatre: la méthode de multiplication scolaire est quadratique. Lorsqu'on utilise la méthode de multiplication par TFR, le temps de calcul augmente quasiment linéairement avec la longueur des nombres que l'on multiplie. Nous verrons au chapitre 11 un exemple numérique pour lequel la méthode scolaire prend une journée tandis que la méthode de multiplication par TFR ne prend que 3 secondes. La second percée majeure fut le développement d'algorithmes très efficaces conçus spécifiquement pour calculer les décimales de 7r. Ils surpassent très largement les formules en arctangente. Ces algorithmes utilisent encore des séries, mais ils sont beaucoup plus productifs que les meilleures séries en arctangente. Nous avons déjà mentionné une telle série trouvée par Ramanujan, dont le calcul de chaque nouveau terme fournit 8 décimales supplémentaires de 7r (1.9). Une série encore plus efficace fut mise au point par les frères Chudnowsky (8.7) ; chaque nouveau terme fournissait 15 décimales de 7r. Ils s'en servirent en 1989 pour calculer un milliard de décimales, ce qui constituait à l'époque le record. Les autres algorithmes de calcul de 7r fonctionnent de manière entièrement différente; ils furent pour la plupart développés au début des années 1980 par deux frères canadiens, Jonathan et Peter Borwein (nés respectivement en 1951 et en 1953). Un de ces algorithmes quadruple le nombre de décimales obtenues à chaque calcul d'un nouveau terme. On parle dans ce cas de vitesse « quartique». En 1999, c'est cet algorithme qui permit à Kanada de calculer en seulement vingt itérations les 206.1 premiers milliards de décimales de 7r. Le principe général de telles procédures est discuté en détail dans les chapitres 7 et 9. Au débu_t du XIX e siècle, le mathématicien allemand Carl
Pourquoi?
17
Friedrich Gauss (1777-1855) avait en fait déjà développé avec précision un tel algorithme ultra-rapide. Cependant, pour diverses raisons sa procédure resta ignorée pendant plus de 170 ans. Le troisième développement, qui de nos jours passe pratiquement inaperçu, est l'explosion des performances des ordinateurs. Une loi empirique qui s'est pour l'instant toujours vérifiée est que l'ordinateur type du moment double sa vitesse tous les deux ans. Ce seul facteur a contribué par un coefficient d'au moins 1000 à l'explosion des calculs de décimales de 7r depuis le début des années 1980. Évaluées en ces termes, les 2 millions de décimales calculées par Kanada en 1981 pour son premier record sont équivalentes aux 2 premiers milliards de décimales de son record mondial de 1999. Grâce à la mise en œuvre combinée de ces trois développements, il y a eu un énorme accroissement de productivité. Depuis 1981 le nombre de décimales connues de 7r a été multiplié par 100 000, jusqu'au record actuel de 206.1 milliards de décimales. C'est l'équivalent d'un facteur de croissance de 190% par an. Peu de domaines peuvent montrer un tel taux de croissance !
4
Pourquoi?
Qu'est-ce qui motive des gens à poursuivre ces insaisissables décimales de 7r? Pour des calculs pratiques, les 10 premiers chiffres du développement décimal sont généralement suffisants. Avec 39 chiffres, on peut calculer le volume de l'univers avec une précision de l'ordre de l'atome. Du fait d'instabilités numériques, certaines applications scientifiques réclament des calculs intermédiaires effectués avec beaucoup plus de chiffres que le résultat final, mais aucune application connue à ce jour ne réclame plus de 100 chiffres. On peut imaginer qu'on découvrira un jour des situations réclamant le calcul de plus de 1000 chiffres, mais certainement pas plus que ça [13]. La précision à laquelle 7r peut être calculé semble dépasser de loin tout besoin pratique; alors pourquoi continuer? Il existe une motivation pratique pour les grands programmes de calcul de 7r, c'est la vérification des systèmes informatiques, matériels et logiciels. Pour calculer des milliards de décimales de 7r, il faut exécuter des milliers de milliards d'opérations arithmétiques, et le moindre défaut dans le matériel, dans le système d'exploitation ou dans le logiciel devient apparent. Il est arrivé que des calculs de 7r mettent en évidence des erreurs logiques dans la conception de certains ordinateurs. Un gros calcul de 7r effectué sans faute est un élément assez fiable de validation d'un système informatique. Le nombre 7r est l'échelle de référence ultime en analyse numérique. Comme on connaît déjà beaucoup de décimales de 7r, on peut évaluer les nouvelles méthodes en les essayant sur le calcul des décimales de 7r : cela permet de les comparer sur une même échelle de mesure.
18
L'état de l'art
Mais la principale raison qui motive ces calculs de décimales de 7r, c'est la grande quantité de questions théoriques non résolues concernant 7r. Ces questions sont d'un intérêt mathématique majeur. Elles concernent un grand nombre de domaines: l'analyse, la théorie des nombres, la théorie des fonctions, la théorie de la complexité, l'étude d'algorithmes, les statistiques et d'autres domaines encore. Un spectre aussi large exerce naturellement une fascination exceptionnelle. Pendant plus de 4000 ans, 7r s'est révélé une source inépuisable de nouvelles découvertes et de surprises. Cela s'est encore vérifié ces dernières années, avec la découverte de nouvelles méthodes pour le calcul de 7r, comme l'algorithme du goutte à goutte (voir chapitre 6) et l'algorithme BBP (voir chapitre 10). Les données expérimentales constituent souvent un outil précieux de compréhension d'un problème théorique pour en trouver une démonstration, et les décimales de 7r fournissent une bonne base de données expérimentales. De plus, nous possédons aujourd'hui des logiciels de calcul formel et certains mathématiciens développent actuellement des méthodes automatiques de démonstrations théoriques sur ordinateur, à partir de vérifications expérimentales. En 2004, de tels programmes fonctionnent déjà sur les équations aux dérivées partielles, mais des mathématiciens travaillent à la mise au point de tels algorithmes dans les domaines évoqués ci-dessus. On peut penser qu'alors le stock de données accumulées sera utile. Tout nouveau record du monde a pour vocation d'être battu. Toute personne possédant les aptitudes et les moyens nécessaires pour le faire s'y appliquera. C'est vrai en sport comme dans les domaines scientifiques. L'étude mathématique de 7r ne se cantonne pas au développement de formules de théorèmes et d'algorithmes. Le calcul lui-même relève encore des mathématiques, tout au moins au-delà du premier million de décimales. Sans une connaissance approfondie de l'arithmétique et du comportement asymptotique des transformations de Fourier, il est impossible d'écrire un programme de calcul des décimales de 7r qui puisse soutenir la compétition. Quelqu'un a dit un jour qu'on peut transformer une personne normale en une enthousiaste de 7r, mais que l'inverse n'est pas possible. C'est assez vrai. L'enthousiasme et le plaisir qui transparaissent dans les textes écrits par les chasseurs de décimales de 7r suggèrent que 7r possède une vie propre qui s'exerce à travers ces gens. Les auteurs du présent ouvrage ont certainement attrapé le virus. Enfin, dernier aspect, et pas des moindres: 7r permet de donner une VIsibilité à des laboratoires de mathématiques qui autrement resteraient inconnus du grand public. De nouvelles découvertes sur 7r suscitent l'intérêt des non-mathématiciens. C'est un des rares sujets dont les résultats (pas les démonstrations!) soient accessibles à tous.
19
De nouveaux objectifs
5
De nouveaux objectifs
Depuis quelques années, à peu près depuis 1995, certains mathématiciens travaillant sur 7r ont réorienté leurs recherches. Au lieu de chercher à calculer le développement décimal de 7r depuis le début jusqu'à des ordres toujours plus élevés, ils se concentrent maintenant sur le calcul de chiffres individuels de développements de 7r dans des bases qui sont des puissances de 2, en pratique, le développement binaire ou le développement hexadécimal de 7r. Dans ces développements, ces chiffres individuels sont placés dans des positions beaucoup plus élevées que les derniers chiffres des développements calculés depuis le début. L'impulsion pour cette réorientation des recherches vint de la découverte inattendue d'une méthode qui permet de calculer directement des chiffres hexadécimaux individuels de 7r, sans avoir à calculer tous les chiffres qui précèdent dans le développement. Tout cela grâce à la formule
(1.12)
7r
=
1
~ 16n 00
(4+ 8n
2 1 1) 1 - 8n + 4 - 8n + 5 - 8n + 6
En octobre 1995, les inventeurs de cette formule (David Bailey, Peter Borwein et Simon Plouffe) firent l'admiration de tous lorsqu'ils la présentèrent avec ses conséquences (voir chapitre la). Jusqu'alors personne ne pensait qu'il soit possible un jour de calculer les chiffres d'un développement sans calculer les précédents. Un calcul de 7r se présentait jusque-là comme un arbre, dont on ne pensait pas pouvoir atteindre une feuille sans passer par les branches. Ce calcul direct d'un chiffre précis du développement hexadécimal de 7r, c'est un petit peu comme si l'on arrivait à enlever une aiguille placée au milieu d'une botte de foin sans faire bouger la paille située au-dessus de l'aiguille. Le facteur décisif est le terme 16 n au dénominateur de tous les termes de la série. Cette série est appelée la série BBP, initiales de ses découvreurs. En la publiant, ceux-ci firent la preuve de son efficacité en publiant également le la 000 milliardième chiffre du développement hexadécimal de 7r. La nouvelle idée semble avoir électrisé les mathématiciens travaillant sur 7r. Depuis la publication de la serie BBP, ils ont trouvé d'autres formules du même type, et même un algorithme général pour engendrer de nouvelles formules semblables. C'est grâce à l'une d'entre elles que l'on a pu calculer des chiffres du développement hexadécimal de 7r placé plus de 100 fois plus loin que le dernier chiffre calculé par Yasumasa Kanada. Le plus récent et le plus jeune détenteur de ce type de record est Colin Percival; né en 1981 et entré récemment à l'université, il suivit une démarche
20
L'état de l'art
différente de celle de Kanada : au lieu d'exécuter lui-même les calculs sur le super-ordinateur d'une université, grâce à à Internet il partagea les calculs sur 1700 ordinateurs dispersés à travers le monde. Il invita les propriétaires d'ordinateurs à l'aider dans son projet qu'il avait appelé PiHex ; il leur envoya par courriel son programme de calcul que les ordinateurs exécutèrent alors lorsqu'ils n'étaient pas utilisés à faire autre chose. Chaque ordinateur attaqua une sous-tâche différente et Percival assembla ensuite les résultats individuels. De cette façon après deux ans de calcul correspondant en réalité à 700 ans de calcul sur un unique ordinateur (à processeur P90) il atteignit le Il septembre 2000 un nouveau record mondial: il trouva le 250 billionième chiffre hexadécimal de 1[", un E. Parce que l'écriture binaire du chiffre hexadécimal E est 1110, Percival en déduisit que le 10 000 billionième chiffre du développement binaire de 1[" est un o. Le problème avec la série BBP et ses variantes, c'est qu'elles ne permettent d'obtenir que des chiffres des développements binaires ou hexadécimaux de 1[", et non des décimales. À ce jour, on ne dispose d'aucune méthode pour calculer une décimale de 1[" sans calculer aussi toutes les décimales qui la précèdent dans le développement. On pense qu'avec le temps, ce problème sera résolu. Un jour, quelqu'un mettra au point une formule «BBP » pour calculer des chiffres décimaux individuels de 1[". Nous attendons ce jour avec impatience.
2 Dans quelle mesure 7r est-il aléatoire? 1
Probabilités
Quel est la probabilité pour que la s-ième décimale de
7r
soit le chiffre z?
Au premier regard la réponse paraît assez simple. Comme la position 8 doit être occupée par l'un des dix chiffres décimaux 0, 1, ... ,9, la probabilité pour que ce soit l'un précis de ces dix chiffres est exactement 0.1. Un soi-disant subjectiviste des probabilités, i.e. un adepte de Thomas Bayes (1702-1761), dirait que la réponse dépend de ce que l'on connaît déjà de 7r puisque, selon ce philosophe, une « probabilité» mesure l'étendue de ce qu'on ne connaît pas. Si l'on connaît déjà la 8-ième décimale de 7r, alors la probabilité pour que ce soit z ou l'un des autres chiffres est 0 ou 1. En revanche,si on ne connaît rien de la s-ième décimale, on pourra alors dire en attendant de disposer de plus d'informations, la probabilité considérée est égale à 0.1. «Non» répondront les mathématiciens et les adeptes de théories philosophiques classiques. «La question est mal posée». En effet, les décimales de 7r ne sont pas des variables aléatoires; elles sont déterminées précisément. Par exemple, la deuxième décimale est un 4, et cela n'a aucun sens de se demander quelle serait la probabilité que ce soit un 5. La théorie des probabilités concerne des événements aléatoires, et non des assertions déterministes. Ainsi posée, la question du caractère aléatoire de 7r est incorrecte. Une manière mathématiquement correcte de formaliser cette idée est « Est-ce que 7r est normal? »
22
2
Dans quelle mesure 'if
7r
est-il aléatoire?
est-il normal?
Les mathématiciens disent qu'un nombre réel donné par son développement décimal est normal si, pour tout entier naturel non nul n, on retrouve toutes les séquences de n chiffres dans le développement avec une fréquence identique. Ainsi, par exemple, dans un nombre normal le chiffre 0 apparaît avec une fréquence de 1/10, et la séquence de chiffres 357 avec une fréquence de 1/1000. Un nombre normal n'est pas forcément «aléatoire », mais un nombre « aléatoire», c'est-à-dire qui aurait été formé avec des chiffres tirés aléatoirement avec équiprobabilité et indépendance des tirages serait presque sûrement normal. Si chacun des dix chiffres apparaît dans le développement décimal d'un nombre avec une fréquence identique, on dit que ce nombre est simplement normal. Le concept de normalité s'étend à des développements dans des bases autres que 10. Un nombre normal dans toutes les bases est dit absolument normal. La question de la normalité d'un nombre ne se pose que si son développement décimal n'est pas asymptotiquement constant. On sait que 7r est irrationnel; son développement décimal n'est donc pas asymptotiquement périodique (c'est-à-dire périodique au-delà d'un certain rang), et il est possible que 7r soit normal. Mais un tel résultat n'a pas encore été démontré: on ignore encore si 7r est normal ou non; on ignore même si cette propriété est démontrable ou indécidable. Si 7r n'était pas normal, alors certaines séquences de chiffres de même longueur surviendraient avec des fréquences différentes. Par exemple, le chiffre 7 pourrait apparaître plus fréquemment que le 3; ou bien peut-être qu'au-delà d'un certain point dans le développement la séquence 314159265 n'apparaîtrait plus. On trouve certes des intervalles contenant de telles irrégularités, mais, sur les très longues séquences dont on dispose aujourd'hui, on n'a encore pu observer aucune véritable irrégularité; cela ne veut pas dire que le développement complet (la suite infinie des décimales) n'en comporte pas. Un nombre normal devra toujours contenir une séquence de longueur un miLlion, formée uniquement de chiffres 5. Bien que le nombre de chiffres connus du développement décimal de 7r soit important, la fréquence des occurrences d'une telle séquence est si faible que l'on n'en a pas encore trouvé. Les séquences dont on a pu observer la fréquence dans la partie connue du développement sont d'une longueur très courte (moins de 10 chiffres de longueur), et l'on n'a donc aucune information concrète sur la fréquence des séquences longues. Dans une séquence aléatoire il est facile de trouver un intervalle qui semble non-aléatoire. Pour 7r, ce n'est pas le cas: comme les chiffres du développement décimal peuvent être calculés, 7r n'est pas un nombre aléatoire. Le fait que
7r
soit non seulement irrationnel mais aussi transcendant n'exclut
1["
23
est-il normal?
pas la possibilité de modèles réguliers survenant dans son développement décimal. Inversement, la présence éventuelle d'un modèle dans la formation du développement décimal ne signifierait pas que 1[" ne soit pas non-normal. Pour illustrer ce point, considérons le nombre artificiel 0, 123 ... 10111213 ... dont le développement est formé en écrivant les uns derrière les autres tous les entiers. La règle de formation des décimales est bien en évidence, et il s'agit d'un nombre normal. Cela fut démontré par Ivan Niven [86]. La question de la normalité de 1[" a été la source de nombreuses études statistiques. Les résultats de ces études sont tantôt instructifs, tantôt décevants, tantôt curieux. Nous allons ci-après en rendre compte. Plusieurs tests statistiques sont disponibles qui permettent d'évaluer jusqu'à quel point les chiffres d'une séquence extraite du développement décimal de 1[" sont répartis aléatoirement; les résultats de ces tests sont toujours exprimés à l'aide de probabilités. Si l'on utilise par exemple de tels tests sur une table de roulette, on ne peut pas garantir que la roulette ne soit pas biaisée, et de toute façon, lorsqu'on effectue un grand nombre de tirages, même une roulette parfaite produira des séquences inhabituelles. Tout cela peut être quantifié parfaitement en termes de probabilités.
Main
Forme
Nombre observé
N ombre théorique
Cinq chiffres différents
abcde
604976
604 800
Une paire
aabcd
1 007 151
1 008 000
Double paire
aabbc
216 520
216 000
Brelan
aaabc
144 375
144000
aaabb
17891
18000
Full (brelan
+ paire)
Carré
aaaab
8887
9000
Cinq chiffres identiques
aaaaa
200
200
Le test statistique le plus simple est le test du poker. Au jeu du poker, chaque joueur reçoit cinq cartes, que l'on appelle une main. Les mains possibles sont classées en sept types. Par exemple, une « paire» est constituée de deux cartes de même niveau, disons deux rois, et de trois cartes de niveaux différents qui ne soient pas des rois. Un « carré» est formé de quatre cartes de même niveau, et d'une cinquième carte, forcément de niveau différent. Lorsqu'on considère le développement décimal de 1[", les « mains» sont formées en considérant cinq chiffres consécutifs du développement décimal, l'ordre de ces cinq chiffres n'étant pas pris en compte. Pour un test, on considère des mains disjointes; ainsi, dans la séquence formée par les premiers dix millions de termes, on extrait deux millions de « mains». Le test du poker
24
Dans quelle mesure
1f
est-il aléatoire?
consiste à compter, les mains ayant des propriétés semblables à celles que l'on considère au poker: une paire, une double paire, etc. Dans le tableau ci-dessus, on donne les résultats obtenus avec les premiers dix millions de chiffres du développement décimal de 1f ([117]). La comparaison des fréquences observées avec les fréquences attendues ne montre rien d'anormal. Le test statistique du X2 donne 0,53 pour cette distribution, ce qui tout à fait compatible avec l'hypothèse de normalité de 1f. Ce serait seulement si l'on avait obtenu des valeurs inférieures à 0,05 ou supérieures à 0,95 que l'on aurait pu trouver cette séquence suspecte. Si l'on considère de plus petits intervalles, par exemple des intervalles formés de 500 000 décimales consécutives, qui sont suffisamment grands pour contenir encore quelques occurrences des mains les plus rares, l'image est différente pour ces mains, ce qui normal car, pour les faibles fréquences, les effectifs sont faibles et ne permettent donc pas de parler de « loi des grands nombres ». Voici par exemple, la distribution des mains pour l'intervalle des décimales entre la 3 000 OOl-ième et la 3 500 OOO-ième.
Main
Forme
Nombre observé
N ombre théorique
Cinq chiffres différents
abcde
30297
30240
Une paire
aabcd
50263
50400
Double paire
aabbc
10877
10 800
Brelan
aaabc
7 156
aaabb
927
900
Carré
aaaab
459
450
Cinq chiffres identiques
aaaaa
Full (brelan
+ paire)
21
7200
10
En ne considérant que cette séquence, et sans être trop regardant sur la loi des grands nombres, on pourrait être tenté de dire que le nombre de mains ayant cinq chiffres identiques est bien trop grand. Mais en refaisant le calcul sur la séquence suivante des 500 000 décimales, la fréquence observée des mains de cinq chiffres identiques est cette fois-ci plus faible que celle attendue, de sorte que quand on considère la réunion des deux séquences de 500 000 décimales, la fréquence observée est tout à fait en accord avec la fréquence attendue. Il y a aussi la possibilité d'une anomalie contraire, celle d'une fréquence observée coïncidant « trop» bien avec la fréquence attendue. On trouve une telle séquence de 500 000 décimales à partir de la position 4 250 001. Dans cette séquence la répartition des mains de poker ne diffère que de 0,5% des chiffres prévus.
Et si
1f
3
Et si
25
n'était pas normal? 7r
n'était pas normal?
Dans une des premières éditions de ses Jeux Mathématiques, Martin Gardner rapporte une conversation avec un certain « Dr. Matrice» [54] : Dr. Matrice emprunta mon crayon et écrivit rapidement les 32 premières décimales de 1f.
3.
~ IIY
~ YI1
14159~53589 9323846~43383279 o... 1
1
« Les mathématiciens considèrent le développement décimal de 1f comme une série aléatoire, mais pour un numérologiste ce développement est riche de modèles remarquables. » Il encadra les deux apparitions de 26. « Vous observerez que vingt-six est la première séquence de deux chiffres à se répéter». Il annota le développement pour faire apparaître la deuxième occurrence de 26 comme le centre d'une série bilatéralement symétrique. Pour cela, Dr Matrice inséra deux traits verticaux pour délimiter un intervalle de 18 chiffres, puis relia ensemble trois paires identiques de chiffres apparaissant symétriquement dans l'intervalle qu'il avait délimité (voir la figure ci-dessus). Il attira également l'attention sur les ensembles de cinq chiffres de part et d'autre du premier 26 : «La somme des cinq chiffres précédant le premier 26 vaut 20, qui est égal au nombre de décimales précédant le second 26. La somme du bloc de cinq chiffres suivant le premier 26 vaut 30, le nombre de décimales précédant le deuxième trait vertical. La somme de ces deux blocs de cinq chiffres vaut 50, la séquence de deux chiffres suivant le deuxième trait vertical. La séquence entre les deux barres commence à la treizième décimale, et 13 est la moitié de 26. La somme des six chiffres composant les trois paires 79, 32 et 38 vaut 32, la paire du milieu ainsi que le nombre total de décimales écrites. Lorsqu'on additionne le 46 et le 43 de chaque côté du second 26 on trouve 89, la séquence de deux chiffres précédant le premier chiffre vertical... »
4
Le phénomène 163
Après les fariboles du Dr Matrice, voici une autre curiosité ludique. Le nombre e7rV163 ne semble pas particulièrement remarquable. Son écriture ne fait appel à rien d'inhabituel : les nombres transcendants e et 1f et le nombre premier 163, plus une racine carrée et une exponentiation. N'importe
26
Dans quelle mesure
7f
est-il aléatoire?
qui penserait qu'il s'agit d'un nombre tout à fait quelconque. Et pourtant ...
(2.2)
e1Tv163 = 262 537412 640 768 743.9999999999992 ...
C'est presque un entier. La différence entre ce nombre et l'entier le plus proche est inférieure à 10- 12 . Ce «phénomène 163 » fut mis en lumière par le mathématicien écossais Alexandre Aitken (1895-1967) [15]. On n'est pas sûr de ce qui l'amena à cette découverte. Dans le monde mathématique Aitken est connu non seulement pour ses travaux académiques en analyse numérique (4 livres et 70 publications) mais aussi pour ses aptitudes légendaires en calcul mental. Il était capable de factoriser de tête de très grands nombres en facteurs premiers et de dire avec exactitude si un nombre qu'on lui soumettait était premier ou non. On l'entendait dire « Ce nombre sent comme un nombre premier». De la même manière sans doute, il pensa à cette propriété curieuse du nombre 163. y a-t-il d'autres nombres possédant une telle propriété? Voici une table donnant les premiers entiers n pour lesquels e1TVn est proche d'un entier.
n
6
2 197.990 .. .
17
422 150.997 .. .
18
614 551.992 .. .
22
2 508 951.998 .. .
25
6 635 623.999 3 .. .
37
199 148 647.999 97 .. .
43
884 736 743.999 7 .. .
58
24 591 257 751.999 999 8 ...
59
30 197 683 486.993 ...
67
147 197952 743.999 991 8 ...
74
545 518 122 089.999 1 ...
163
262 537412 640 768 743.999 999 999 999 2 ...
L'auteur de cette liste, Roy Williams, a offert un prix pour quiconque pourrait de manière convaincante soit démontrer que cette valeur numérique est simplement due au hasard, soit expliquer pourquoi il ne s'agit pas d'un accident. Une chose est certaine: à elle seule, la longueur de la liste laisse conjecturer que cette valeur numérique n'est pas due au hasard. La liste se prolonge en
27
Le phénomène 163
effet, avec beaucoup d'autres valeurs de n supérieures à 163 pour lesquelles le développement décimal de e1fVn commence après la virgule décimale par plusieurs chiffres 9. Par exemple, pour n = 232 et n = 4 075, on trouve 5 chiffres 9, pour n E {719, 1 169,5 773}, on en trouve 4, et pour n = 1 467, on en trouve 8. Ces données expérimentales laissent soupçonner qu'il y a là un authentique phénomène à étudier, mais elles ne nous donnent aucune piste pour une démonstration. Les débuts de preuves mathématiques sont si compliqués que, même avec un haut niveau mathématique, les perspectives de gagner le prix semblent extrêmement minces: le phénomène défie les simples explications. Les mathématiciens qui s'y sont attaqués l'ont fait en utilisant la théorie des équations modulaires, que seuls quelques spécialistes maîtrisent parfaitement[61]. Pour n E {43, 67, 163}, on a une explication liée à la fonction j définie par
(2.3)
j(n)
1
avec -
q
= ~ + 744 + 196884q + 21493760q2 + 864299970q3 + ... q
= _e1fVn . On montre grâce à une interprétation différente de
j que
pour ces valeurs de n, j(n) est un entier et même un cube parfait. On a j(43) = -960 3 ,j(67) = -5280 3 et j(163) = -640320 3 . Cela permet d'expliquer pourquoi pour ces valeurs de n, le nombre e1fVn est proche d'un entier. On voit en effet sur le développement de j qu'il n'en diffère que par la somme de la série 196884q+21493760q2 + 864299970q3 + ... qui est un nombre petit. Avec cette explication, on peut faire encore mieux en combinant le développement en série de j et le fait que j(n) soit le cube d'un entier pour ces valeurs de n. On obtient
(2.4)
~e1fVT63 -
744
= 640 319.999 999 999 999 999 999 999 999 3 ...
Il Y a quelques autres valeurs de n pour lesquelles un développement en série peut expliquer la valeur numérique de e1fVn , mais cela ne donne pas d'explication simple de la fonction j elle-même. Le mathématicien indien S. Ramanujan (1887-1920) , dont nous parlerons plus en détail dans le chapitre 8 découvrit de telles séries. Il était malheureusement adepte des explications ultra-concises, et son mémoire [96] ne fait pas exception. Pour autant
28
Dans quelle mesure
Ir
est-il aléatoire?
qu'on puisse reconstituer sa démarche intellectuelle, il suivit une méthode semi-heuristique consistant à « peigner» les équations modulaires de degrés inférieurs à quelques centaines. Ce faisant, il tomba sur les degrés 22, 37 et 58, dont certaines combinaisons conduisaient à des entiers. Il trouva par exemple l'égalité
qui permet d'expliquer le cas de n
= 37.
À partir de ces valeurs de n, on peut aussi expliquer celles qui s'en déduisent par une multiplication par un carré, comme 232 = 58x2 2 , ou 1467 = 163x32 . Mais il reste encore des cas qui résistent aux explications, comme e 7fvTI9 qui diffère de moins de 0.000 013 d'un entier.
L'hypothèse selon laquelle l'intervention de variables complexes conduirait forcément à un résultat complexe est erronée, ainsi que nous l'avons vu. Cela est confirmé par Donald E. Knuth de l'université de Stanford, en Californie. Nous aurons d'autres occasions de mentionner ce mathématicien qui est l'auteur d'un célèbre traité, The Art of Computer Programming, sans doute l'ouvrage d'informatique le plus cité. Dans l'introduction du deuxième volume, Knuth raconte l'histoire de son super-générateur de nombres aléatoires dont il pensait qu'il engendrerait les plus aléatoires de tous les nombres aléatoires. À cet effet Knuth écrivit un programme qui était conçu pour être totalement aléatoire. Par exemple, à chaque exécution, il commençait à un endroit aléatoire du programme et pour chaque nombre aléatoire il exécutait un nombre aléatoire de boucles. Knuth coda aussi son programme d'une manière si compliquée que personne ne pourrait le comprendre. Il commençait avec une valeur initiale qui, naturellement, était choisie au hasard. Il pensait que son programme contenait tant de choix aléatoires qu'il produirait des nombres incroyablement aléatoires.
Mais qu'arriva-t-il? Après quelques termes, la suite de nombres engendrée par le programme aboutissait presque aussitôt sur le nombre à 10 chiffres 6 065 038 420, puis devenait périodique de période 27. Quand il changeait la valeur initiale, la période passait à 3 178, ce qui, pour un générateur de nombres aléatoires est tout aussi lamentable. La conclusion qu'il en tira est que l'on ne devrait jamais engendrer des nombres aléatoires avec une méthode aléatoire. Cela s'applique également aux recherches sur Ir. Aussi nous faut-il préciser que le phénomène 163 n'est pas accidentel mais constitue le point de départ de l'une des méthodes les plus rapides pour le calcul des décimales de Ir. En 1989, elle inspira les frères Chudnovsky lorsqu'ils mirent au point une série
29
D'autres résultats statistiques
qui leur permit de franchir pour la première fois la barrière du calcul d'un milliard de décimales de 7r.
5
D'autres résultats statistiques
Naturellement les décimales de 7r ont été calculées sur des ordinateurs en utilisant de nombreuses méthodes différentes. Par exemple, quand Yasumasa Kanada annonça en octobre 1999 son calcul de 206.1 milliards de décimales, il publia la répartition des 200 premiers milliards de décimales. La voici. Chiffre
Nombre d'occurrences
a
20 000 030 841
1
19 999 914 711
2
20 000 136 978
3
20 000 069 393
4
19 999 921 691
5
19 999 917 053
6
19 999 881 515
7
19 999 967 594
8
20 000 291 044
9
19 999 869 180
Total
200 000 000 000
Comme on le voit sur cette liste, la distribution des chiffres est quasiment uniforme. Le chiffre qui s'éloigne le plus est le 8, mais même pour lui, la déviation par rapport à la moyenne n'est que de 0.000 01 %. Kanada chercha aussi dans sa séquence record des sous-séquences remarquables. Il rapporte par exemple que la séquence 01234567891 apparaît cinq fois dans la séquence des 206.1 premiers milliards de décimales de 7r, alors qu'on s'attendrait à la rencontrer seulement deux fois. Une autre singularité est le fait que la séquence 543 210 987 654 n'apparaît pour la première fois que relativement tard dans la séquence considérée, en position 197 954 994 289, bien que dans l'hypothèse d'un développement aléatoire sa probabilité d'apparition dans les 69 premiers milliards soit de 0.5. Supposons que les chiffres du développement décimal soient tirés aléatoirement avec équiprobabilité des dix chiffres, et indépendance de tirages; notons w la probabilité pour qu'une séquence donnée de k chiffres n'apparaisse pas dans une séquence de longueur n. Alors w et n sont reliés par les deux formules lnw
(2.5)
n
= In(l _ lO-k)
30
Dans quelle mesure
7r
est-il aléatoire?
(2.6) Selon la dernière formule, la probabilité du fait confirmée par Kanada est de 0.13, ce qui ne susciterait la suspicion d'aucun statisticien. Si l'on partage le développement décimal de 7r en blocs de dix chiffres consécutifs, et toujours sous l'hypothèse du caractère aléatoire de ce développement, quelle est la probabilité pour qu'un bloc soit constitué de dix chiffres différents? Un tel bloc pourrait par exemple être la séquence 0123456789. Il y a 1010 séquences possibles de dix chiffres, et parmi celles-ci, il y en a 1O! qui soient formées de dix chiffres différents. La probabilité cherchée vaut donc 10!/10 1O = 1/2755 ... ~ 0.000 36. Autrement dit, en moyenne, une séquence de 27 550 décimales consécutives de 7r contiendra en moyenne une séquence de longueur 10 constituée des dix chiffres 0,1, ... ,9. En réalité, la première de ces séquences de dix chiffres différents apparaît très tôt, dès le septième bloc de dix décimales. Voici les premiers blocs: 3. 1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164
6
7r
et les intuitionnistes
Ainsi que l'a indiqué Jonathan Borwein [29], l'exploit de calcul de Kanada a une grande importance historique. Au début du XX e siècle le mathématicien hollandais L. E. J. Brouwer développa une théorie qui porte le nom d'intuitionnisme. Brouwer remettait en cause le principe du tiers exclu qui avait été scrupuleusement respecté par tous les mathématiciens depuis l'époque d'Aristote : si P est une assertion bien formée, ou bien P est vraie, ou bien la négation de P est vraie, et il n'y a aucune troisième possibilité. Brouwer remit en cause ce principe, en montrant qu'il n'est pas toujours applicable. À l'appui de sa thèse, il demanda s'il est vrai ou faux que la séquence 123456789 apparaît quelque part dans le développement décimal de 7r. Étant donné l'état des connaissances sur 7r à son époque, il pouvait penser que l'on ne pourrait jamais répondre à cette question, car pour le
Représentation en fractions continues
31
faire, il faudrait «probablement» connaître 6,9 milliards de décimales de 7f, tandis qu'à cette époque, on n'en connaissait que 707. Selon Brouwer, si l'on ne peut pas dire si cette assertion est vraie ou fausse, c'est parce que le principe du tiers exclu ne s'applique pas à cette assertion. Grâce à Kanada, on connaît aujourd'hui la réponse à cette question, et aussi à bien d'autres que Brouwer et ses disciples avaient utilisées pour étayer leur théorie. Voici l'une d'elles. Une des implications du principe du tiers exclu est que la démonstration de l'impossibilité d'une proposition d'impossibilité montre la proposition ellemême. La réfutation de Brouwer procède ainsi. Sous la suite des décimales de 7f, écrivons la fraction décimale p = 0.33333 ... , que l'on termine dès qu'apparaît dans le développement décimal de 7f la séquence 0123456789. Si le 9 de cette séquence est la k-ième décimale, alors p = (10 k - 1)/(3 X 10 k ). Maintenant supposons que p soit irrationnel. Alors, p ne peut pas être égal à (lOk -1)/(3 X 10 k ), car dans ce cas, p serait rationnel. Par suite, la séquence considérée ne peut pas apparaître dans le développement décimal de 7f. Mais alors, p = 1/3, ce qui est encore une fraction, contrairement à l'hypothèse. Ainsi, l'hypothèse selon laquelle p est irrationnel conduit à une contradiction. En appliquant le principe du tiers exclu, cela signifie que p est rationnel, donc qu'il existe deux nombres entiers r et s tels que p = r / s. Mais on ne peut préciser ces deux entiers qu'en indiquant la position de la séquence 0123456789 dans le développement décimal de 7f, ou en démontrant qu'elle ne se trouve pas dans ce développement. Selon Brouwer, cet exemple montre que le principe du tiers exclu ne s'applique pas toujours. Maintenant, nous pouvons préciser ces entiers r et s, ce qui dans l'esprit de Brouwer ne se produirait jamais. Cela permet-il de réfuter la théorie de Brouwer? Non, il suffit de reprendre l'argument en remplaçant la séquence 0123456789 par une séquence plus longue, par exemple la séquence de 100 chiffres obtenue en accolant bout à bout dix fois de suite la séquence 0123456789. Non seulement l'intuitionnisme n'est pas réfuté mais, d'une certaine façon, on peut dire que les mathématiques expérimentales mettent en IJuvre une pensée intuitionniste, ce qui est le cas de beaucoup de travaux contemporains sur 7f.
7
Représentation en fractions continues
La séquence connue du développement décimal de 7f ne fournit aucun indice suggérant que ce développement décimal ne soit pas aléatoire. Y a-t-il alors d'autres représentations de 7f qui soient plus instructives? Cette question est légitime, dans la mesure ou toute nouvelle représentation de 7f, par exemple son écriture hexadécimale, étant obtenue à partir d'un arbre de calculs assez
32
Dans quelle mesure
1r
est-il aléatoire?
différent, il est vraisemblable qu'une nouvelle représentation ne ressemble pas aux précédentes. Une approche prometteuse est la fraction continue simple de 1r 1 . Comme on l'a déjà indiqué dans le premier chapitre, le nombre e présente un comportement assez différent selon qu'on considère son écriture décimale ou son développement en fraction continue. On obtient respectivement e = 2.71828 18284 590 ... , et 1 1 1 1 1 1 1 1 1 1 1 1 e=2+- - - - - - - - - - - 1+2+1+1+4+1+1+6+1+1+8+1+ ...
(2.7)
La représentation décimale de e ne possède aucune régularité, tandis que sa représentation en fraction continue est très régulière : la formule est faite de blocs de trois quotients successifs dont les dénominateurs sont de la forme 1 nI, où n est un entier pair non nul. Le nombre 1r possède des caractéristiques fort différentes : ni son développement décimal ni son développement en fraction continue ne semblent obéir à une quelconque règle de régularité. 1r
111111111111 - - -- - - - - - - 7 + 15 + 1 + 292 1 + 1 + 1 + 2 + 1 + 3 + 1 + 14 + ...
= 3+-
Peut-être peut-on en conclure que
1r
est encore plus aléatoire que e?
En 1985, William R. Gosper calcula 17 millions de termes du développement en fraction continue simple de lr, ce qui permet de faire des statistiques sur les différents dénominateurs. Voici quelques résultats pour les 8192 premiers termes éléments (3,7,15,1,292, etc.) : Moyenne des 2 048 premiers éléments
27.5
Moyenne des 2 048 suivants
15.3
Moyenne des 2 048 suivants
8.2
Moyenne des 2 048 suivants
10.4
Que peut-on en conclure? La valeur moyenne des 2 048 premiers termes semble inhabituelle. Elle est presque deux fois plus grande que la valeur moyenne des blocs suivants de 2 048 termes. Cela reste vrai lorsqu'on considère des blocs de longueur différente : la moyenne des termes du premier bloc est toujours supérieure à celle des blocs suivants. IOn précisera la notion de fraction continue au chapitre 4.
33
Représentation en fractions continues
Quand on examine les données plus en détail, on voit que cette différence entre les moyennes vient du 431 e dénominateur, qui est anormalement grand, puisqu'il vaut 20 776. Si l'on retire cet élément, la moyenne du premier bloc redevient proche de celle des autres blocs. Pour l'instant, ce terme particulier en position 431 est le seul élément remarquable que l'on ait pu tirer du développement en fraction continu de 7r : une petite irrégularité dans l'irrégularité des termes. Il n'y a heureusement pas que le développement en fraction continue simple de 7r : il existe d'autres développements en fractions continues, et parmi eux, certains semblent présenter quelque régularité. En voici un, trouvé par L. J. Lange en 1999.
(2.8)
Ici, les fractions sont les termes de la suite
(2n 6
1?
La séquence des décimales de 7r déjà connues a passé avec succès tous les tests de caractère aléatoire qu'on lui a fait subir. C'est pourquoi on pourrait se servir de cette séquence comme d'un générateur de nombres aléatoires, à condition bien sûr de ne pas le révéler! Une société de loterie pourrait tout simplement tirer chaque semaine les 7 décimales suivantes de 7r et former ainsi le numéro gagnant de la semaine. y a-t-il une lueur d'espoir pour que l'on trouve quelque chose de remarquable dans le développement décimal de 7r? Peut-être. Nous avons déjà mentionné plus haut les frères Chudnovsky, qui ont beaucoup travaillé sur 7r et qu'il est difficile de soupçonner de vouloir attirer sur eux l'attention des médias par des déclarations fantaisistes. En 1992, ils déclarèrent à un journaliste être sur une piste, «pas encore statistiquement significative, mais presque». Ils déclarèrent avoir besoin de beaucoup plus de milliards de décimales pour confirmer ou infirmer leur intuition. Bien qu'ils n'aient pas donné tous les détails, on pense qu'ils ont cherché une propriété statistique invisible pour les tests usuels. Il s'agirait de phénomènes d'« ondes» dans le développement décimal. Par exemple, le premier, le troisième et le cinquième milliard de décimales auraient un déficit de l'un des chiffres, tandis que les deuxième, quatrième et sixième présenteraient un excédent de ce même chiffre.
Depuis avril 1999, Kanada a mis à la disposition des frères Chudnovsky la séquence de décimales qu'il a calculées, et l'on attend maintenant que ces derniers publient les résultats de leur étude.
3 Les raccourc'ts vers
7r
Indiscutablement la voie la plus facile pour approcher K est de se reporter au chapitre 17 de ce livre où l'on trouve une liste de quelque 5 000 décimales, tandis qu'on trouve plus de 400 millions de décimales sur la partie du site Vuibert consacrée au nombre K. Une autre façon d'obtenir facilement un grand nombre de décimales de K est d'utiliser un logiciel informatique de calcul formel, comme Mathematica, Maple ou un programme spécial de calcul des décimales de K, comme ceux que l'on trouve sur Internet. Dans ce chapitre, on va se concentrer sur des approches de l'exercice d'une certaine initiative.
1
Des approches « obscures» de
K
qui réclament
7r
Si la superficie A et le diamètre d d'un disque sont connus, alors K est égal à 4A/d 2 . C'est précisément l'approche qui sous-tend le curieux programme en C créé par Brian Westley. Il calcule K avec 3 décimales. #define _ OO>OO?O:--OO,--F; int F,OO; mainO{F_OOO ;printf("%1.3f\n" ,-4.*F/OO/OO) ;}F_OOO {
- - - - - - - - - - - - - - - - - - - -- --
}
36
Les raccourcis vers
1f
Ici, le « disque» a une superficie de 201 (mesurée en utilisant les caractères _ et - et un diamètre de 16 (mesuré grâce aux lignes formées par ces caractères), de sorte que la valeur approchée de 1f que l'on obtient est de 3.141. Pour obtenir plus de décimales, il suffit de faire grossir de cercle, d'un facteur 10 pour chaque nouvelle décimale. Le programme proposé ne ressemble pas du tout à un programme en C ordinaire, mais il respecte néanmoins la norme ANSI de programmation en C. Avec ce programme, Westley obtint un prix au « International Obfuscated C Code Contest» (IOCCC) en 1988. Depuis 1984, cette compétition se déroule sur Internet chaque année. Le gagnant est la personne qui crée le programme en C le plus incompréhensible et le plus créatif, mais qui est néanmoins exécutable. Les outils fondamentaux employés ici sont la syntaxe concise du C, et surtout le pré-processeur C. D'habitude, les résultats sont artificiels mais également artistiques. Ce sont toutefois invariablement des exemples illustrant comment on ne devrait jamais écrire un programme. Voici un autre exemple de programme. cha _3141592654[314 ], __ 3141[3141];_314159[31415],_3141[31415];main(){register char* _3_141,*_3_1415, *_3 __ 1415; register int _314,_31415, __ 31415,*_31, _3_14159, __ 3_1415;*_3141592654= __ 31415=2,_3141592654[0] [_3141592654 -1]=1 [ __ 3141]=5; __ 3_1415=1;do{_3_14159=_314=0, __ 31415+ +;for( _31415 =0;_31415«3,14-4)* __ 31415;_31415++)_31415[_3141]=_314159[_31415]= 1;_3141[*_314159=_3_14159]=_314;_3_141=_3141592654+ __ 3_1415;_3_1415= __ 3_1415 + __ 3141;for (_31415 = 31413 1415 ; _31415;_31415-,_3_141 ++, _3_1415++){_314 += 314«2 . 314«=1' 314+= *_3=1415;_31 ~_314159~=314; if(!(*_31+1) )* _31 =_314 / __ 31415,_314 [_3141]=_314 % _3 __ 1415=_3_141 __ 31415 ;* ( )+= *_3_1415 = *_31;while(* 3 1415 >= 31415/3141 ) * _3 __ 1415+= 10,(*--_3 __ 1415 )++;_314=_314 [_3141]; if ( ! _3_14159 && * _3_1415)_3_14159 =1, __ 3_1415 = 3141-_31415;}if( _314+( __ 31415 »1»= __ 31415 ) while ( ++ * _3_141==3141/314 )*_3_141--=0 ;}while(_3_14159 ) ; { char * __ 3_14= "3.1415"; write«3,1), (--* __ 3_14, __ 3_14 ),(_3_14159 ++,++_3_14159))+ 3.1415926; } for ( _31415 = 1; _31415<31411;_31415++)write( 31415% 314-( 3,14),_3141592654[ _31415 ] + "0123456789", "314" [ 3]+1)-_314; puts«*_3141592654=0 ,_3141592654)) ;_314= *"3.141592";}
Cette œuvre d'art en C fut créée par Roemer B. Lievaart. Elle semble porter exclusivement sur 1f, peut-être parce qu'elle fournit 3141 décimales. Mais iro-
37
Petit et beau
niquement, pas des décimales de 7r; le programme ne calcule pas 7r, mais son cousin, le nombre e. Le développement obtenu commence donc par 2.7128 ... Nous expliquerons plus loin l'algorithme employé par ce programme.
2
Petit et beau
Voici à présent un mini-programme ne comportant que 133 caractères; il s'agit une fois encore d'un programme en ANSI C, et à notre connaissance, il s'agit - pour l'instant - du plus court programme de calcul des décimales de 7r.
long a[52514] ,b,c=52514,d,e,f=le4,g,h; mainO {for(; b=c-=14 ;h=printf ("%04ld" , e+d/f» for(e=d%=f;g=--b*2;d/=g)d=d*b+f*(h?a[b] :f/5),a[b]=d%--g;} En dépit de sa brièveté, ce programme calcule 15 000 décimales de 7r. La méthode de calcul sous-jacente est l'algorithme dit du goutte à goutte, qui permet au programme de fournir une à une les décimales, sans que le calcul de l'une ne fasse appel au calcul des décimales précédentes. On pourra expérimenter soi-même cet algorithme grâce à un programme écrit en Java qui se trouve sur le serveur Vuibert.com. L'algorithme du goutte à goutte est étudié plus en détail au chapitre 6. Cet algorithme fut découvert par Stanley Rabinowitz, qui le publia en 1991 sous la forme d'un programme écrit en FORTRAN [94]. L'auteur ne donna à l'époque pratiquement aucun élément de démonstration, et fit référence à un article de fond qu'il comptait publier plus tard. Ce fut fait en 1995 [95] dans un article co-signé avec Stanley Wagon. On peut donc dire que la programmation de l'algorithme du goutte à goutte précéda sa démonstration. La version de l'algorithme donnée ci-dessus utilise diverses améliorations dues à différents mathématiciens, tels Dik T. Winter et Achim Flammenkamp.
3
Un crible pour approcher
7r
On peut approcher 7r en utilisant une méthode qui rappelle le « crible d'Ératosthène », du nom du mathématicien grec (284-202 av. J.-C.) qui la conçut comme un moyen de trouver les nombres premiers. En partant de la suite des nombres entiers strictement positifs, (1, 2, 3, ... ) on commence par en retirer un terme sur deux, à partir du troisième, ce qui donne (1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, ... ). On retire ensuite un terme sur trois de la nouvelle suite, à partir du cinquième.
38
Les raccourcis vers
7r
On obtient (1,2,4,6, 10, 12, 16, 18,22,24,28,30,34 ... ). À l'étape suivante, on retire un terme sur quatre, à partir du septième terme de la suite. Cela donne (l, 2, 4, 6, 10, 12, 18, 22, 24, 30, 34, ... ). On itère. D'une manière générale, à la k-ième étape, on retire de la suite courante un terme sur k + l, à partir du (2k + l)-ième terme. Au terme de cette procédure, on obtient une suite, (l, 2, 4, 6, 10, 12, 18, 22, 30, 34, ... ), ce qui permet de définir une fonction f, de N* dans N, qui à l'entier n associe le n-ième terme de cette suite. Pour tout n E N*, n 2 / f (n) est une approximation de 7r, et la qualité de cette approximation s'améliore lorsque n croît. Pour n
= 1,2,4,8,16,32, ... ,4096 = 212 , on obtient
1,2,2.7,2.9,3.12,3.10,3.08,3.12,3.1405,3.13, 3.1423, 3.1414, 3.1412 Malheureusement, l'amélioration de la précision est fort modeste. La série converge seulement à une vitesse en O(n 4 / 3 ), ce qui est à peine meilleur qu'une convergence linéaire. De plus, les exigences de mémoire sont considérables : pour arriver à calculer f (4096), il faut avoir, grâce au crible décrit ci-dessus, retiré des suites intermédiaires environ 5,34 millions de termes. K. S. Brown découvrit que la suite (f(n))n peut aussi être obtenue par une méthode d'arrondi haut bien menée. Son algorithme se déroule comme suit:
Prendre un entier n et l'arrondir au multiple suivant de n-1, puis au multiple suivant de n - 2, et ainsi de suite jusqu'au multiple suivant de 1. Le résultat est l'entier f(n) obtenu par le crible. Par exemple, si n = 10, on obtient les valeurs intermédiaires 18,24,28,30, 30,32,33 et 34, avec le résultat final f(lO) = 34.
4
7f
et l'aléatoire: méthodes de Monte-Carlo
Le problème de l'aiguille du comte de Buffon Pendant la guerre civile américaine, le capitaine C.O. Fox se remettait d'une blessure dans un hôpital militaire. Pour passer le temps, il jetait de manière aléatoire un certain nombre d'aiguilles identiques sur une planche sur laquelle il avait auparavant tracé une série de lignes parallèles espacées de la longueur d'une aiguille. Il comptait le nombre de jets et le nombre de coups gagnants, i.e. le nombre de fois où l'aiguille lancée touchait ou croisait une ligne. Après 1 100 jets, le capitaine avait obtenu 3.14. Pourquoi? Il semble que ce soit le comte de Buffon (1707-1788), qui examina le premier cette expérience, et c'est en son honneur que ce problème est maintenant
7r et l'aléatoire: méthodes de Monte-Carlo
39
connu sous le nom d'aiguille de Buffon. En 1777, Buffon montra que le rapport entre le nombre d'aiguilles lancées et le nombre de coups gagnants tend vers 7r /2. Autrement dit, la probabilité pour qu'une aiguille lancée rencontre l'une des droites est 2/7r. Ayant eu connaissance de ce résultat, Fox put approcher 7r en multipliant par deux le nombre d'aiguilles lancées et en divisant ce nombre par le nombre d'aiguilles ayant coupé l'une des lignes en arrivant sur la surface.
BUFFON
Ce qui est intéressant dans le problème de l'aiguille, est qu'il établit un lien entre le nombre «géométrique» 7r et le domaine apparemment éloigné des probabilités. Bien d'autres liens ont pu être établis entre les probabilités et 7r. Ils fournissent des méthodes aléatoires d'approximation de 7r, que l'on qualifie de méthodes de Monte-Carlo.
L'algorithme des fléchettes Considérons un cercle de rayon r = 1 inscrit dans un carré de côté 2r = 2. Des «fléchettes» sont lancées sur ce carré, suivant une diffusion aléatoire, et l'on considère qu'un lancer est gagnant lorsque la fléchette atterrit dans le disque. La règle du jeu est à peu près identique à celle du jeu de fléchettes
40
Les raccourcis vers
7r
habituel, sauf que dans ce cas la partie «noire» est beaucoup plus grande que sur une cible de fléchettes habituelle.
y
1
1
x
La procédure se trouve simplifiée si l'on ne considère que le premier quadrant. Quand le nombre n de lancers augmente, le nombre de coups au but augmente aussi, et la proportion de coups gagnants tend vers le rapport entre l'aire du quadrant de disque, et celle du quadrant de la planche.
(3.2) (3.3)
lim
n-->+oo
t n
Aire (quart de cercle) Aire( quart de carré)
4t n
-
~
7r
4
7r
Le résultat est un élégant algorithme d'approximation de 7r. Il suffit de simuler un grand nombre de lancers (le plus grand nombre possible) et de vérifier à chaque fois si la fléchette est dans le disque. Cette vérification est particulièrement simple: si x et y sont les coordonnées du point d'atterrissage (0 :( x, y :( 1), alors le point sera dans le disque si et seulement si sa distance à l'origine est inférieure à 1, c'est-à-dire si et seulement si x 2 + y2 :( 1. Dans le programme en C++ suivant, les coordonnées aléatoires x et y sont engendrées en utilisant la fonction rand du langage C++, qui est la fonction standard de génération de nombres pseudo-aléatoires. Cette fonction fournit des nombres pseudo-aléatoires équirépartis dans l'intervalle [0, RAND _ MAX], où RAND_MAX est un nombre dépendant du système sur lequel est implanté le compilateur C++. Il convient donc de diviser par RAND_MAX le résultat fourni par la fonction rand pour obtenir un nombre dans l'intervalle [0,1]. Le générateur aléatoire de la fonction rand est initialisé par la fonction standard srand 0 qui dépend du temps, et fournit donc un nombre initial qui n'est pas constant.
Ir
et l'aléatoire: méthodes de Monte-Carlo
41
**************************************************************** Il Algorithme des fléchettes pour approcher de pi. **************************************************************** #include #include #include #include
<stdlib.h> <math.h>
int main(void)
{
long k, n, hits; const double factor while (1) {
cout « "Nombre de lancers (0 pour arrêter): "; cin » n; if ( n <= 0) Il input <= 0 means end-of-job break; Il Initialiser le générateur aléatoire srand((int)clock());
Il Faire n lancers for (k=hits=O; k < n; ++k) {
}
Il Trouver deux réels aléatoires dans 0 .. 1 double x = rand() * factor; double y = rand() * factor; if (x*x + y*y < 1.0) Il dans le disque? ++hits; Il oui: hits += 1
double pi_approx = 4.0 * hits 1 n; cout «"Approximation de pi après " « n « " lancers: " « pi_approx « " (erreur=" « fabs(M_PI - pi_approx)*100/M_PI }
}
Ir
« "%)\n";
return 0;
et coprimalité
La probabilité pour que deux nombres entiers choisis au hasard soient pre6 miers entre eux est 2. Cette propriété peut être employée pour définir un Ir
autre algorithme d'approximation de Ir, consistant à engendrer aléatoirement un grand nombre de paires de nombres entiers, et à vérifier si les nombres constituant ces paires sont premiers entre eux. Le rapport entre le nombre de paires d'entiers premiers entre eux et le nombre total de paires tirées donne 6 une approximation de 2. En effet, Ir
(3.4)
t
6
lim - = -2 n->oo n Ir
42
Les raccourcis vers
1f
(3.5) BalI [14] a rendu compte d'une expérience de terrain dans laquelle on demanda à 50 étudiants d'écrire cinq paires de nombres aléatoires. À l'issue de l'expérience, 154 d'entre elles étaient constituées de nombres premiers entre 6 154 eux. Cela conduisit à 1f2 ~ 250' et donc à 1f ~ 3.12. Au lieu de jouer avec des étudiants, on peut faire l'essai avec un ordinateur. Le seul problème avec un tel programme est de déterminer si deux nombres entiers donnés sont premiers entre eux ou non. Pour cela, on utilise le plus ancien de tous les algorithmes, qui a plus de 2 300 ans, et fut décrit par Euclide dans le livre VII des Éléments, le livre de mathématiques le plus célèbre de l'histoire, publié dans de nombreuses langues en de multiples éditions. Il suffit de trois lignes pour programmer l'algorithme d'Euclide en code source (voir par exemple le programme ci-après), mais il est bien plus long de décrire cet algorithme en français. Partant de deux entiers strictement positifs A et B, l'algorithme d'Euclide calcule le pgcd de ces deux nombres. A et B sont premiers entre eux si et seulement si ce pgcd est égal à 1. Pour calculer le pgcd de A et B, l'algorithme d'Euclide utilise itérativement la division euclidienne. Le plus simple est de donner un exemple. Prenons A = 78 et B = 21. Alors, 78 = 3 x 21 + 15. Par définition, le pgcd de 78 et de 21 divise 78 et 21, donc 15. Il est égal au pgcd de 21 et de 15. En itérant ce processus, on obtient:
78
= 3 x 21 + 15,
21
= 1 x 15 + 6,
15
= 2 x 6 + 3,
6
= 2 x 3+0
Ainsi, 3 est le pgcd de 78 et de 21. Le petit programme qui suit simule l'expérience décrite plus haut avec des étudiants, et fournit une approximation de 1f.
**************************************************************************
Il Il Il Il Il
Approximation de pi par une méthode de Monte-Carlo
Le programme trouve des paires d'entiers aléatoires. Il détermine s'ils sont premiers entre eux. La probabilité théorique de cet événement est 6/pi-2.
************************************************************************* #include #include <stdlib.h> #include <math.h>
7r
et l'aléatoire: méthodes de Monte-Carlo
43
int euclid(int u, int v)
{
int r·, while ( (r = u % v) != 0 ) {
}
}
u v
v; r;
return v·,
int main(void)
{
while (1) {
int
n, nTries, nHits;
cout « "Entrer le nombre d'essais (ou 0 pour terminer):"; cin » n; if (n <= 0) break; srand«int)clock()); for (nTries=nHits=O; nTries < n; ++nTries) {
}
}
}
int A = rand() + 1; int C = rand() + 1; if (euclid(A, C) 1) Il A et C sont premiers entre eux ++nHits;
double f = nHits * 1.0 1 nTries; double pi = sqrt(6.0 1 f); cout « "After " « nTries « " tries is pi " « pi « endl;
return 0;
Voici un tableau regroupant les approximations obtenues après avoir fait tourner le programme le nombre de fois indiqué. Nombre d'essais
Approximation de
10
3. 464 102
+0.322509 ...
100
3. 273 268
+0.131 675 ...
1 000
3. 194 383
+0.052 790 ...
10000
3. 142 438
+0.000 845 ...
100 000
3. 114 391 3
+0.002 320 ...
1 000 000
3. 141 554
-0.000038 ...
7r
Erreur
Bien que les méthodes de Monte-Carlo soient attrayantes, intéressantes et faciles à mettre en œuvre, elles ne sont pas très bien adaptées aux calculs de 7r, car elles convergent lentement. Même après un million de tentatives il est rarement possible d'obtenir plus que quatre décimales correctes de 7r. Et il est tout à fait possible d'obtenir une approximation plus médiocre encore
44
Les raccourcis vers
7r
de 7r après un grand nombre d'essais qu'après un plus petit nombre d'essais, comme le montre le tableau ci-dessus. Les méthodes qui sont fondées sur des nombres aléatoires sont probablement les moins efficaces de toutes les procédures systématiques de calcul de 7r. En outre, il existe deux problèmes fondamentaux. Tout d'abord, les programmes informatiques ne sont pas capables d'engendrer des nombres véritablement aléatoires car il y a forcément un point à partir duquel ils reproduisent des nombres qu'ils ont déjà engendrés, suivant la même séquence. Ensuite, les nombres pseudo-aléatoires engendrés par un ordinateur appartiennent forcément à un ensemble fini, si bien que sur cette base seule, on ne peut engendrer une suite véritablement aléatoire reproduisant par exemple une répartition uniforme sur l'intervalle [0, 1]. Il s'ensuit que les méthodes de Monte-Carlo ne peuvent pas vraiment converger vers 7r mais doivent plutôt osciller autour de 7r. De toute façon, étant donné la convergence médiocre de ces méthodes, ces deux problèmes sont purement théoriques, et sans conséquences pratiques.
5
Par mémorisation
Une autre voie que l'on peut emprunter pour accéder aux décimales de de les apprendre par cœur.
7r
est
Nombre de poèmes mnémotechniques sont disponibles pour aider à cette mémorisation. Nous avons déjà rencontré de tels poèmes au premier chapitre. Beaucoup de gens doués pour jouer avec les mots ont essayé de créer des textes dans lesquels le nombre de lettres de chaque mot soit égal au chiffre correspondant dans le développement décimal de 7r. Un poème en anglais destiné à enseigner les 31 premières décimales de 7r fut soumis par une personne se faisant identifier par les initiales F. S. R. à la revue scientifique Nature en 1905 : Sir, 3 In 2 Numerical 9 For 3 If 2 Tho 3
l 1 sacred 6 sprites 7 me 2 Nature 6 Dr 2
send 4 truth 5 elucidate 9 the 3 gain 4 Johnson 7
a 1 and 3
rhyme 5 rigid 5
excelling 9 spelling 8
lectures 8 not 3 fulminate. 9
dull 4 you 3
weight 6 complain 8
Par mémorisation
45
Le texte suivant, dû à l'astrophysicien anglais James Jeans (1877-1946) est probablement plus facile à mémoriser; il donne 24 décimales:
How l want a drink, alcoholic of course, after the heavy chapters involving quantum mechanics. All of thy geometry, Herr Planck, is fairly hard ... De tels textes sont disponibles dans beaucoup de langues et figurent sur des sites Internet (voir les liens sur Vuibert.com). Juste après que le français Fautet de Lagny (1660-1734) eut réussi en 1717 à calculer les 127 premières décimales de 7r, P. Decerf se lança dans l'écriture d'un poème sur 7r long de 127 mots. Quelques années plus tard, on découvrit que le développement décimal de 7r publié par de Lagny contenait une erreur de retranscription, si bien que le 112e chiffre décimal était non pas un sept mais un huit. Il fallut donc que Decerf publiât une « mise à jour», ce qui est extrêmement rare dans le monde de la poésie [41, p.153]. Ce qui est sans doute le poème mnémotechnique le plus long du monde fut composé par Michael Keith. Celui-ci écrivit un étonnant Cadaeic cadenza qui donne les 3 865 premières décimales de 7r. Cadae est un mot inventé pour l'occasion; il est formé des lettres dont la place dans l'alphabet correspond aux cinq premiers chiffres de l'écriture décimale de 7r, 3 1 4 1 5. La première section du cadenza est une adaptation du célèbre poème qu'Edgar Allan Poe publia en 1844, Le Corbeau. Elle est intitulée «Près d'un corbeau ». Le nouveau poème comporte 18 vers et commence ainsi:
Poe, E. Near A Raven Midnights so dreary, tired and weary. Silently pondering volumes extolling all by-now obsolete lore. During my rather long nap the weirdest tap ! An ominous vibrating sound disturbing my chamber's antedoor. "This", 1 whispered quietly, "1 ignore". Perfectly, the intellect remembers : the ghostly fires, a glittering ember Infiamed by lightning's outbursts, windows cast penumbras upon this fioor. Sorrowful, as one mistreated, unhappy thoughts 1 heeded : That inimitable lesson in elegance -LenoreIs delighting, exciting ... nevermore. À eux seuls, le titre et les deux premières strophes donnent 80 chiffres de 7r. Ils sont suivis par seize autres strophes et la signature de l'auteur qui donnent au total 660 décimales supplémentaires. Keith travailla dur pour rester aussi proche de l'original que possible en ce qui concerne le mètre,
3.1 415 926535 897932384 62643383 27950288 419716 9399375105 8209 749445 92307816 406286 2089
46
Les raccourcis vers
7r
l'action, la mélodie et le rythme. Ainsi par exemple il réussit à conserver la mélodie du sombre refrain au bout de chaque strophe. Parmi les quatorze sections du Cadaeic cadenza, la section 3 contient une adaptation à 7r d'un autre poème écrit par le mathématicien Charles Lutwidge Dodgson, plus connu sous le nom de Lewis Carroll, auteur de Alice au pays des merveilles, qui fut aussi un enthousiaste de 7r. La section 11 contient même un texte de William Shakespeare (qui ne connaît le célèbre « to 7r or not to 7r »). Les poèmes mnémotechniques sur 7r rencontrent leur première difficulté à la trente-deuxième décimale, avec l'apparition du premier zéro du développement décimal de 7r. Comme il y a pas de mots s'écrivant avec zéro lettre, les auteurs de ces vers mnémotechniques ont dû imaginer une substitution. La solution que trouva Keith fut d'employer des mots de dix lettres, tels que, par exemple, «troublante ». D'autres auteurs demandèrent à leurs lecteurs d'interpréter une marque de ponctuation particulière comme un o. Avec cette solution, la 601 e décimale devient un piège redoutable, car le développement décimal de 7r comporte à cet endroit trois zéros de suite. Peu après cette première séquence de trois zéros consécutifs dans le développement décimal de 7r, on trouve ce que les amateurs de 7r ont surnommé le « point de Feynman», qui est la séquence 9999998, commençant en position 762. Comment construire un texte comportant à la suite six mots de neuf lettres et un mot de huit lettres? Keith réussit à résoudre ce casse-tête. Nombre de méthodes d'amélioration de la mémoire ont été développées à partir de l'exemple de 7r : parmi elles, mentionnons l'emploi de modèles reproductifs, la création de blocs de longueur fixe ou variable, l'association de graphiques, de rythmes, de musique, ou la représentation de couleurs, l'apprentissage par la répétition dans des situations variées et à des intervalles irréguliers. On trouve sur Internet des articles portant sur ce sujet. Connaître beaucoup de chiffres de 7r ouvre de nombreux horizons. Cela permet par exemple de prendre part à une compétition de récitation de décimales de 7r, ou de devenir membre d'un club d'amateurs de 7r, comme ceux-ci qui exigent de leurs membres qu'ils sachent réciter un nombre donné de décimales de 7r. Nous avons déjà mentionné le club autrichien Freunde der Zahl Pi (Amis du nombre 7r) qui demande aux impétrants de réciter 100 décimales dans un endroit public devant un notaire agréé par le club. Le Club 1000 suédois demande la récitation de 1 000 décimales de 7r. Les membres de ces clubs sont rarement des numéropathes qui se bourrent la tête de décimales de 7r, ce sont plus souvent des scientifiques sérieux qui prennent plaisir à exécuter cet exploit. L'un d'eux est Simon Plouffe, l'un des trois mathématiciens ayant récemment découvert un nouvel algorithme
Bit par bit
47
sur 11, l'algorithme BBP (voir chapitre 10). En 1977, Plouffe entra dans le Livre Guinness des Records après avoir mémorisé 4 096 décimales de 11. En fait, il affirmait connaître par cœur 4 400 décimales, mais s'être limité à 4 096, i.e. 2 12 , qui est un nombre plus symbolique. Depuis 1995 le détenteur mondial du record de récitation des décimales de 11 est Hiryuku Goto; alors qu'il n'était âgé que de 21 ans, il récita 42 000 chiffres en neuf heures. Depuis que ce nouveau record fut établi, certains ont affirmé que le japonais facilite la mémorisation de chiffres plus que tout autre langue. Ou peut-être Goto n'avait-il rien de plus raisonnable à faire après que les programmeurs l'eurent éliminé de leur code ...
6
Bit par bit
Comme tout nombre réel, 1/11 peut être écrit dans le système décimal, ce 1 1 qui donne - = 0.3183 ... , ou dans le système binaire, ce qui donne 11 11 0.010100010111110 ... Pour obtenir les chiffres de l'écriture binaire de 1/11, on peut diviser par 2 la fraction écrite dans le système décimal, puis recommencer avec le reste, et itérer cette procédure. La multiplication étant plus simple que la division, on peut également procéder uniquement avec des multiplications. Pour cela, on multiplie la fraction écrite dans le système décimal par 2, et l'on garde le chiffre avant la virgule comme étant un chiffre de l'écriture binaire, et l'on itère la procédure. Ainsi 0,3183 x 2 = 0,6366, de sorte que 0 est le premier chiffre binaire: 1/11 = 0,0 .... Poursuivons. 0,636 x 2 = 1,2732, et donc 1 est le deuxième chiffre binaire: 1/11 = 0,01 ... On garde donc le 1 et l'on continue avec la partie après la virgule: 0,2732 x 2 = 0,5464, de sorte que o est le troisième chiffre binaire : 1/11 = 0,010 ... La procédure continue. Bien sûr la précision de la représentation binaire que l'on peut obtenir ne peut être supérieure à celle de l'approximation dont on est parti : si l'on part d'une approximation ayant n décimales correctes, on obtient au plus 1/ loglO 2 ~ 3.3 fois plus de chiffres binaires exacts. Une méthode assez différente pour calculer la représentation binaire de 1/11 fut découverte par Simon Plouffe de l'université de Bordeaux. Sa procédure fut justifiée rigoureusement et généralisée en 1995 par Jonathan Borwein et Roland Girgensohn [36] . Dans la méthode de récurrence de Plouffe, le point de départ est ao = tan(l) = 1. 5574 ... Partant de ce nombre, Plouffe calcule les termes d'une suite al, a2, a3, . .. en utilisant la relation de récurrence
(3.6)
48
Les raccourcis vers 1r
Les ak ne sont pas réellement calculés, car on a seulement besoin de connaître leur signe: si ak est strictement négatif, le k-ième chiffre du développement binaire de 1/1r est un 1, et sinon, c'est un O. Voici les dix premiers déduit.
ak
et les chiffres du développement binaire que l'on en
Chiffre binaire de 1/1r
k
ak
0
1. 5574
0
1
-2. 1850
1
2
+1. 1578
0
3
-6. 7997
1
4
+0.3006
0
5
+0.6610
0
6
+2. 3478
0
7
-1. 04086
1
8
+25. 111
0
9
-0.0797
1
Cet algorithme est intéressant et inattendu, et pourtant, il dissimule un piège. Notamment, avant de pouvoir calculer ~ de cette façon, on doit disposer d'une excellente valeur approchée de tan(l), ce qui demande plus de temps que le calcul direct de ~.
7
Raffinements
En partant de la connaissance de quelques décimales de 1r, peut-on en trouver d'autres? Daniel Shanks a développé une méthode élégante pour le faire [108]. Si Po est une approximation de 1r qui possède n décimales correctes après le point décimal, alors le calcul suivant produit une approximation améliorée Pl, qui possède trois fois plus de décimales correctes.
(3.7)
Pl
= Po + sinpo
Par exemple, si Po = 3,14, i.e. si n = 2, Pl = Po + sinpo = 3. 141 592 65 ... est une approximation de 1r ayant 6 décimales correctes (et même plus).
7r habite à Paris
49
La démonstration est simple si l'on emploie la formule de développement en série de sine et que l'on utilise la formule sin(7r + x) = -sinx. Dans ce qui suit, désignons par e l'erreur dans Po, c'est-à-dire Po = 7r + e.
Pl
po+sinpo 7r + e + sin( 7r + e) 7r + e - sine 7r + e _
(~1 _
3
e + e~ + ... ) 6 5.
Si Po est une approximation de 7r ayant n décimales exactes après la virgule, on a e < lO-n et, d'après le théorème de majoration d'une série alternée, on a Ipl - 7r1 < < 0,210- 3n , ce qui montre que Pl possède au moins 3n décimales correctes après la virgule.
s;
Shanks a montré qu'il est possible de trouver des formules d'approximation qui en un seul coup donnent une amélioration encore meilleure. Par exemple, si qo = Po, la formule de récurrence
(3.8) multiplie par au moins 5 le nombre de décimales correctes après la virgule décimale. Il est possible que Shanks ait eu connaissance de cette astuce en étudiant les œuvres de Wildebrord Snell (1581-1626) (voir le chapitre 13).
8
7r
habite à Paris
Le seul musée au monde à posséder une salle consacrée à 7r est le Palais de la Découverte, avenue Franklin Roosevelt à Paris. À l'entrée suivre les indications « salle pi » sans oublier de prendre avec soi un excellent article du Mathematical Intelligencer [67]. Ils guident le visiteur jusqu'à la salle 31, qui est ronde. Diverses propriétés de 7r y sont expliquées sur des panneaux. La chose la plus spectaculaire est l'écriture sur la partie haute du mur des 707 premières décimales de 7r, sur trois tours d'une spirale.
C'est ce qui a fait la réputation de cette salle du musée. Elle fut inaugurée en 1937, à l'occasion de l'exposition internationale « Art et technologie dans
50
Les raeeou reis vers
7r
la vie moderne», et à cette époque, la spirale sur le mur donnait les 707 décimales calculées par William Shanks en 1874 . En 1945, Fergusson montra que le développement de Shanks était faux à partir de la 528-ième décimale, et l'erreur sur le mur de la salle fut immédiatement corrigée. Bien que cette correction ait été effectuée il y a quelque 60 ans, une rumeur persistante continue d'affirmer que le nombre 7r exposé dans la salle pi du Palais de la Découverte est faux. Par exemple, l'édition 1997 du Quid reprenait cette affirmation fausse. « Dans le dôme du Palais de la Découverte à Paris les 627 [sic] premières décimales du nombre transcendant 7r sont exposées, mais apparemment certains des chiffres sont incorrects. » Certains ne peuvent décidément pas accepter la vérité!
4 Approximations de 7r et fractions continues 1
Les approximations rationnelles
L'approximation la plus courte de 7f est tout simplement 3. Ce nombre ne diffère de la valeur réelle de 7f que de 4.5%, et on trouve déjà cette approximation en deux passages de la Bible (voir chapitre 13). L'approximation la plus longue est, elle, longue de 206.1 milliards de chiffres et n'est toujours pas entièrement exacte. C'est seulement quand nous écrivons « 7f » pour 7f l, que nous sommes entièrement exacts - toute autre écriture est plus longue et est plus ou moins une approximation. Afin de simplifier, 7f(8) représentera dans ce chapitre l'ensemble des approximations de 7f avec 8 décimales exactes. L'approximation 3 employée dans la Bible se note donc 7f(0). À Babylone l'approximation 3~ = 3.125 E 7f(1) était déjà utilisée 1 000 ans auparavant. La définition de 7f(8) comme approximation de 7f avec 8 décimales exactes implique que l'on approche ainsi 7f de sa valeur exacte à 10- 8 près ou, plus précisément, que 17f - 7f( 8) 1 < 10- 8 . La conclusion inverse n'est pas vraie: une erreur absolue strictement inférieure à 10- 8 ne garantit pas toujours que l'on a obtenu 8 décimales exactes; par exemple, l'approximation 3.1416 diffère de 7f = 3.141 592 65 ... de seulement 0.000 007 ... , qui est inférieur à 10- 5 , mais n'est exacte qu'avec seulement trois décimales. Cependant, ce phénomène particulier ne peut survenir que lorsque l'approximation est supérieure à 7f. Autrefois, bien avant que la notion de fractions décimales infinies soit connue et maîtrisée, on pensait pouvoir approcher une « proportion» comme celle lOU une des nombreuses égalités mathématiques qui concerne ce nombre (la collection commence au chapitre 16).
52
Approximations de
7f
et fractions continues
existant entre la circonférence d'un cercle et son diamètre, en utilisant un rapport, c'est-à-dire une fraction consistant en un numérateur et un dénominateur. Une approximation bien connue de 7f de cette forme fut trouvée par Archimède aux environs de 250 av. J.-C. : (4.1)
7f(2)
'3
223
22
71 < 7f < 7
E 7f(2)
Le fait que cette approximation prenne la forme d'un intervalle est particulièrement intéressant, bien que la façon dont elle fut découverte ait ses désavantages (pour plus de détails sur ce sujet, voir le chapitre 13). La notation utilisée sous forme d'inégalités strictes rend évident le fait que 7f n'est égal ni à la valeur de gauche ni à celle de droite; ainsi d'autres représentations de 7f n'ont pas toujours été aussi honnêtes: par exemple, Tsu Chhung-Chih (Chine, env. 480 ap.J.-C.), qui a découvert l'excellente approximation suivante de 7f : (4.2)
355 133 E 7f(6)
était convaincu que cela représentait la valeur exacte de
7f.
Une approximation est dite « rationnelle» si elle peut être donnée par une fraction consistant en un quotient d'entiers. De telles représentations sont extrêmement courantes, et toute approximation de 7f sous forme décimale, hexadécimale ou binaire, etc. est une approximation rationnelle puisque, par exemple, 3.14 n'est que le quotient de la fraction 314 divisé par 100. Comme, par convention, dans certaines bases telles que 10, 16 ou 2, on « imagine» le dénominateur d'une fraction sans l'écrire, ces approximations sont concises et efficaces. En réalité, cependant, l'approximation 3.14 E 7f(2) ne signifie pas seulement que l'on a tapé quatre touches du clavier consistant en un point décimal et 3 chiffres, mais 7 touches consistant en une ligne de fraction et deux ensembles de 3 chiffres l'un au numérateur l'autre au dénominateur. Mais si l'on employait la version à «7 touches », il existe d'autres fractions, 355 par exemple la fraction mentionnée ci-dessus, 113 E 7f(6), qui représente 7f de manière plus précise, avec 6 décimales exactes. Une bonne approximation rationnelle de 7f est une approximation dans laquelle le rapport du nombre de chiffres décimaux corrects au le nombre de chiffres total figurant au numérateur et au dénominateur est élevé. Comme nous verrons bientôt, les meilleures approximations rationnelles atteignent la valeur de 1. La meilleure méthode pour obtenir de bonnes approximations d'un nombre transcendant ou irrationnel est celle de la « fraction continue». Sous cette
53
Les approximations rationnelles
forme particulièrement intéressante, les dénominateurs ne consistent pas, comme dans la représentation décimale, en des puissances d'une base fixée mais en une combinaison d'un entier et d'une fraction. Dans le cas de 7f, la fraction continue associée commence comme suit :
(4.3)
7f
= 3+
- - - - - -1 - - - - 1 7 + --------1
15+------1+
1
292
1
+ -1-+-.-..
Alternativement, voici sous forme de tableau les premiers entiers de la fraction continue associée à 7f 2 :
o.
.0
.1
.2
.3
.4
.5
.6
.7
.8
.9
3
7
15
1
292
1
1
1
2
1
l.
3
1
14
2
1
1
2
2
2
2
2.
1
84
2
1
1
15
3
13
1
4
3.
2
6
6
99
1
2
2
6
3
5
bi
Afin d'aboutir à une approximation rationnelle de 7f, il suffit ainsi de s'arrêter dans la fraction continue (infinie) à un niveau donné et d'effectuer le calcul correspondant à la fraction finie ainsi obtenue. (Notons que l'on n'a jamais besoin de simplifier les fractions calculées.) Par exemple, si l'on s'arrête dans la représentation ci-dessus après le premier 1 (on garde donc 3,7,15,1), on 22 333 355 obtient les approximations 3, 7' 106' 113' qui sont respectivement exactes à 0,2,4 et 6 décimales. Parmi les approximations obtenues de cette façon, celles obtenues en s'arrêtant juste avant l'un des plus grands entiers sont particulièrement précises. Quand on examine l'erreur de l'approximation en fonction du rang du dernier quotient obtenu, on obtient la courbe suivante: 2Les 2 000 premiers éléments se trouvent à la fin de l'ouvrage.
Approximations de 7r et fractions continues
54
10- 5 10- 10 10- 15 10- 20 erreur rel.
10- 25 10- 30 10- 35 10- 40
point de terminaison : 715292
14
84
15 13
99
Au vu de ce graphique, si l'on s'arrête avant un (relativement) grand entier comme 15,292,84 ou 99, le taux d'erreur relatif chute très nettement, si bien que l'on obtient ainsi d'excellentes approximations: Point d'arrêt
Approximation
22
avant b2
= 15
7
avant b4
= 292
355 E 7r(6) 113
E 7r(2)
avant b 12
= 14
5 419 351 1 725 033 E 7r(12)
avant b21
= 84
21 053 343 141 () 6 701 487 259 E 7r 21
avant b25
= 15
8 958 937 768 937 7r(2) 2 851 718 461 558 E 5
avant b27
= 13
428 224 593 349 304 136 308 121 570 117 E 7r(29)
avant b33
= 99
2 646 693 125 139 304 345 E 7r(37) 842 468 587 426 513 207
Dans les cas les plus favorables, le nombre de décimales exactes est presque égal à la somme du nombre de chiffres du numérateur et du nombre de chiffres du dénominateur. Si l'on arrête la fraction continue avant b4 = 292, b21 = 84
55
Autres approximations
b33 = 99 (les plus grands éléments), le nombre de décimales exactes est exactement égal au nombre de chiffres. Il existe de tels autres cas, par exemple avant b77 = 16, b79 = 161 ou bso = 45. OU
0 3 E 7r(9), soit 2 décimales 33 1 de moins que la somme du nombre de chiffres corrects du numérateur et du dénominateur . Mais, si l'on arrête avant b5
= 1, on obtient 1 3 ; ;
Si An et En représentent respectivement le numérateur et le dénominateur de la fraction continue associée à un nombre K, lorsqu'on s'arrête avant l'entier bn + 1 , l'erreur relative de l'approximation est (4.4) Cette inégalité nous a été communiquée par F.L. Bauer, et elle nous conforte dans l'idée que d'arrêter la fraction continue avant un « grand» entier améliore la précision de l'approximation, puisque ce nombre apparaît au dénominateur de la fraction majorant l'erreur relative ayant ainsi l'effet d'en réduire considérablement la valeur. On ne pourra trouver pas de meilleures (c'est-à-dire plus réduites) approximations pour un nombre de décimales exactes fixé à l'avance. Cela se démontre grâce aux théorèmes de la théorie des fractions continues. Par exemple, l'approximation remarquable découverte par Johann Heinrich Lambert (1728-1777) (4.5)
() 1 019 514 486 099 146 324 521 540 032 945 E 7r 25
demande 5 frappes de touches supplémentaires, à comparer avec l'approximation donnée dans la cinquième ligne du tableau ci-dessus qui est tout aussi précise. Ce tableau inclut plusieurs approximations de 7r ayant une valeur historique. Les origines de 22/7 (Archimède) et 355/113 (Tsu Chhung Chih) ont déjà été mentionnées. Les deux approximations obtenues en s'arrêtant avant les entiers 14 et 13 ont été découvertes au Japon en 1766. Il faut noter ici qu'à cette époque la notion de fraction continue était encore inconnue, si bien que ces découvertes durent être faites en empruntant un chemin différent. On ignore quel fut ce chemin, et notre étonnement n'en est que plus grand.
2
Autres approximations
Aussi exactes que puissent être les approximations rationnelles, elles ne sont jamais simples ni faciles à retenir. Ces deux dernières qualités se retrouvent
56
Approximations de 7r et fractions continues
dans d'autres formules d'approximations, plus «agréables», visuellement plus « artistiques», avec moult symboles impressionnants ou de belles symétries. On dit que Platon (427-348 av. J .-C.) connaissait l'approximation suivante de 7r [51, p.126] (4.6) et que son camarade philosophe indien, Zhang Reng (78-139 ap. J.-C.), fut le premier à utiliser la formule (4.7) L'approximation suivante est attribuée à l'auteur de la Divine Comédie, Dante Alighieri (1265-1321), qui avait reçu une éducation mathématique poussée: (4.8)
o
3 + 10 E 7r(3)
Les auteurs ont été incapables de découvrir qui inventa cette impressionnante formule d'approximation; peut-être est-elle l'œuvre de l'astronome indien Aryabhata, qui naquit en Inde en 476.
On pourrait penser, de prime abord, que le premier signe de soustraction est une erreur, mais il n'en est rien. Comme on peut aisément le vérifier à l'aide de formules trigonométriques élémentaires, l'expression 8V2 - 0 est le périmètre d'un octogone inscrit dans un cercle de rayon 1, i.e. ayant une circonférence de 27r. Chaque fois que l'on double le nombre de côtés du polygone régulier inscrit dans ce cercle, le dernier 0 figurant dans la formule est remplacé par V2 + 0, et le facteur entier se trouvant devant la formule est doublé. Ainsi, l'approximation de 7r ci-dessus n'est que la formule donnant le demi-périmètre d'un polygone régulier à 1 024 côtés inscrit dans le cercle de rayon 1. En raison du grand nombre de 2 figurant sous les racines carrées, la formule (4.9) est à rapprocher du produit donné par François Viète en 1593 (1.6).
57
Autres approximations
En fait les deux formules sont liées et convergent de façon similaire. Elles approchent toutes deux le nombre 7r géométriquement, à l'aide d'un polygone régulier à 2 n côtés inscrit dans le cercle de rayon 1; dans le cas de produit de Viète, par son aire, et dans le cas de la formule ci-dessus par son périmètre. Kochansky (1631-1700) a découvert (4.10) tandis que Carl Friedrich Gauss (1777-1855) était seulement agé de 14 ans lorsqu'il calcula [82, p.8] : 22 . 2484 . 12983009 E 7r(13) 7 2485 12983008
(4.11)
Le jeune Friedrich commença en partant de l'approximation connue 22/7 et la divisa en 3.14159265 ... Il retrancha ensuite ce quotient à 1, puis convertit le reste en une fraction de numérateur égal à 1. Le dénominateur était proche 22 2484 de 2485. Il recommença ensuite avec 7" . 2485· Adrien-Marie Legendre (1752-1833) proposa l'approximation: (4.12)
1
ln - - 2x 4 E 7r(9), x
avec
x
1
(2 1/ 4
2
-'---:-""C"c--':""
=- .
(2 1/ 4
-
1)
+ 1)
Srinivasa Ramanujan (1887-1920) est resté comme le maître des découvertes des formules d'approximation de 7r. On trouvera au chapitre 8 de plus amples informations sur ce remarquable mathématicien qui adorait le nombre 7r. Dans son article intitulé Modu1ar Equations and Approximations to 7r de 1914, il proposa de nombreuses formules. En guise de hors-d'œuvre, l'article débute avec des approximations simples, en proposant des expressions élégantes et symétriques [96, p. 34-35] :
(4.13)
(4.14)
(4.15)
9fs
-+ 5
5
E 7r(3)
19 16 V7 E 7r(3)
58
Approximations de
1f
et fractions continues
(4.16)
63 (17 + 15v'5) 25 7 + 15v'5
(4.17)
E 1f(9)
Ramanujan découvrit ces formules en étudiant des équations modulaires. Elles sont suivies dans son article, par une approximation bizarre qu'il découvrit de manière empirique [96, p. 35]
(4.18) De nombreuses tentatives furent faites pour découvrir ce qui pouvait se dissimuler derrière le mot «empirique». L'explication la plus vraisemblable est la suivante [25, p. 655] : Ramanujan était un expert en « fractions continues», et il a probablement remarqué que la fraction continue de 1f4 possédait un terme remarquable :
(4.19)
1f4
= 97 + ______1_ _ _ _ __ 1 2 + --------1
2+-------1
3+-----1
16539+ - 1 + ...
Ceci lui aurait suggéré de devoir arrêter la fraction continue avant ce grand terme exceptionnel de 16 539, ce qui lui aurait permis de trouver 1f4
~ 97 +
i2 = 9
2
+
li;·
Ramanujan obtint une autre approximation empirique en améliorant l'approximation par 355/113. Il trouva, simplement en calculant l'inverse de 1- (1131f/355),
(4.20)
0.0003) -355 ( 1- 113 3533
E
1f
(14)
En 1913, Ramanujan publia un article d'une page [97] contenant une construction géométrique de l'approximation 355/113. Cet article en luimême ne contient rien de remarquable, mais ce qui est notable est le titre La quadrature du cercle et le fait que, ni dans le titre ni dans le texte cette expression ne figure entre guillemets. Sachant que Lindemann avait
59
Autres approximations
démontré en 1882 que ce problème n'admettait pas de solution, un résultat que Ramanujan ne pouvait ignorer, aucun mathématicien ne pouvait s'offrir le luxe d'un tel titre. C'est un nouveau témoignage de l'assurance que Ramanujan pouvait avoir dans la justesse des résultats qu'il proposait. Pour ce qui est du travail de Ramanujan sur les approximations de 7r, les formules précédentes ne sont qu'une mise en bouche ... En fait, il proposa d'autres approximations encore plus précises [96, p.31] 24 l V142 n
(4.21)
(V + 11 v'2 + V + v'2) () 10
4
JO
7 4
V~~O ln( (2V2 + vlo)(3 + vlo))
(4.22)
E
E
7r 15
7r(18)
(4.23)
V~~O ln [~(3 + VS) (2 + V2) ((5 + 2vlo) + )61 + 20vlo)]
E
7r(22)
Et pour couronner le tout (4.24)
V:22 ID
r( +~r 5
(5.;29 +
11V6) (V9 +;V6 + VS +;V6)'1
E K(3U)
Ces dernières approximations proviennent également d'équations modulaires et sont une nouvelle preuve de l'extrême maîtrise que Ramanujan avait de la théorie des ces équations. Plus récemment, Peter et Jonathan Borwein ont trouvé d'autres approximations du type de celles proposées par Ramanujan [32, p.194] :
(4.25)
3(3v13 + 7 7r(2) 17) E
(4.26)
103v13 + 125 7r(5) 158 E
(4.27)
66V2 7 33V29 _ 148 E 7r( )
60
Approximations de 1f et fractions continues
4
(4.28)
(4.29)
(4.30)
~
y58
ln 396 E 1f(8)
180 + 52J3 -45-y'g3-;::9=3c-+-3-9-j3f=3=1---2-0-1J3----;3=----2-17 E 1f(9 )
~l ~n (J29+5) y58 y2 JO
( ) E1f9
=
Dario Castellanos est un autre fan de 1f, qui présenta, dans un article datant de 1988 intitulé L'omniprésence de 1f, tout un folklore d'approximations plus attrayantes les unes que les autres, qu'il démontra lui-même. Son point de départ fut de transformer l'équation 4.18 de Ramanujan en lui donnant une forme plus agréable encore: 4
(4.31)
102 -
2222 22 2 E 1f(8)
Il tenta ensuite quelque chose de nouveau. En prolongeant ce processus initié par Ramanujan jusqu'à la puissance 5, il découvrit que (4.32)
5
77729 E 1f(8) 254
et fut même étonné que Ramanujan n'eût pas pensé à cette formule. De plus, Castellanos découvrit d'autres approximations [41,p.79-80, 83]
(4.33)
(4.34)
1.09999901 x 1.19999911 x 1.39999931 x 1.69999961 E 1f(6)
(4.35)
(4.36)
2+
( 95 +
413) 2 1 + ( 750 E 1f(7)
934+344+174+88)1/4 75 4
E
1f(10)
61
Autres approximations
(4.37)
(4.38)
Simon Plouffe, que nous avons déjà rencontré plusieurs fois dans ce livre, était constamment à la recherche de nouvelles approximations de 7r. Il fut sûrement ravi de proposer la suivante:
(4.39) ou:
(4.40)
ln 5280 () E7r8 67
fi 9
L'approximation suivante crée un lien entre 7r et le nombre d'or
(4.41) alors que e et 7r sont liés par
(4.42)
9-e -2-
E
7r(2)
(4.43)
(4.44)
(4.45)
\120
+ 7r E e(3)
cp = V5 + 1 2
:
62
Approximations de
7r
et fractions continues
Ces approximations peuvent être écrites de manière plus impressionnante encore. Ainsi, la dernière approximation (4.45) se transforme en l'expression suivante, particulièrement facile à mémoriser: (4.46) dans laquelle les deux membres ont en commun 7 chiffres (403.4287). Il existe un autre lien entre 7r et e dans la formule d'approximation développée par James Stirling (1692-1770) pour le calcul de nt, i.e. du produit 1 x 2 x ... x n:
(4.47) En dehors de la bonne précision de cette approximation - l'erreur relative est inférieure à 1% pour n ;?: 9 et inférieure à 0.1 % pour n ;?: 84 - cette formule montre, une fois de plus, l'omniprésence apparente du nombre 7r. Ici il apparaît dans une formule ne contenant que des nombres entiers. À notre avis, la formule de Stirling, en raison de sa beauté, de son intérêt pratique et de son ancienneté, entre dans la liste « éternelle» des plus grandes formules comme celle d'Euler (1.10), que nous avons mentionnée précédemment.
Notons que cette formule peut être améliorée de manière significative par une petite correction que l'on trouve en effectuant un développement asymptotique (4.48) L'erreur relative est maintenant inférieure à 1% pour n ;?: 3 et inférieure à 0.1% pour n ;?: 9. Dans le cas assez semblable du produit des nombres entiers impairs strictement inférieurs à 2n, F.L. Bauer [17, p. 49] a utilisé l'approximation suivante: (4.49)
(2n - 1)!!
=
(2n - 1)(2n - 3)) .. ·3· 1 ~
J(2n)! ---,=-=========
~7r.(n+i)
Cette approximation résulte de la formule proposée par Bauer pour 7r (16.62), qui converge vers 7r nettement plus rapidement que celle de Wallis ou celle qui en est dérivée (16.61), bien que la seule différence existant entre les deux soit un minuscule 1/4 au dénominateur.
63
Autres approximations
Les approximations de 7f que Daniel Shanks proposa à partir de l'étude des corps complexes quadratiques sont d'un ordre encore meilleur. Son «morceau de roi» est la formule suivante, étonnamment simple, mais qui donne 80 décimales exactes de 7f [107, p. 398]. Avec
(4.50)
D
=
~(1071 + 184V34)
(4.51)
E =
~(1533 + 266V34)
(4.52)
F
(4.53)
G
= 429 + 304V2)
=
~(627 + 442V2)
suivi de
(4.54)
= E + VE2_1
(4.55)
e
(4.56)
f = F+ VF2-1
(4.57) on obtient
(4.58)
6 v'35Q2ln(2 x d x e x 3502
f
x g) E 7f(80)
Dans son article, Shanks prouve l'existence d'une meilleure approximation de ce type, qui donne jusqu'à 109 décimales exactes de 7f. Mais, en raison du temps prohibitif nécessaire au calcul, il ne les calcula pas. Toutefois, comme il le précise lui même, « on pourrait le faire ... ». Bien entendu, un grand nombre de bonnes approximations de 7f peuvent être obtenues en prenant une somme partielle d'une série convergeant vers 7f. Par exemple, la série de Ramanujan (1.9) de la page 13, qui donne 8 décimales
64
Approximations de 7r et fractions continues
exactes supplémentaires à chaque pas, produira 80 décimales exactes si l'on calcule la somme des dix premiers termes. Cette méthode de calcul de somme partielle peut paraître relativement triviale. En revanche, une série infinie produisant presque 7r, c'est-à-dire convergeant vers un réel proche de 7r, ne serait pas du tout triviale; quel que soit le nombre de termes que l'on calculerait, on n'obtiendrait jamais la valeur exacte de 7r. En fait, de telles séries existent et elles sont réellement étonnantes. La première série donnée ci-dessous produit 18 000 décimales exactes de 7r, et la seconde 42 milliards! (J. et P. Borwein, 1992 [34])
(4.59)
(4.60)
ln 10 1002
+00
(
n~oo
1 1O(n/100)2 )
2
E 7r(18 000)
1
1010
Ces séries convergent ainsi vers des réels qui - du moins théoriquement - ne sont pas égaux à 7r, mais dont les 18000, ou 42 milliards, premières décimales coïncident avec celles de 7r. Les frères Borwein ont démontré ces formules à partir d'identités modulaires, mais en fait, le chemin entre ces identités et les formules donnant l'approximation de 7r est étonnamment court [34]. Si l'on considère que leur découverte est plus liée au hasard qu'à une réelle étude théorique, elles n'en sont que plus remarquables et pourraient facilement tromper quelqu'un qui penserait qu'elles sont une réponse à une question de vie, de l'existence de l'univers et de 7r. Les Borwein considèrent en fait ces séries comme un exemple d'« avertissement calculatoire ». Notons que ces formules peuvent fournir n'importe quel nombre de décimales exactes de 7r en remplaçant les valeurs 100 ou 1010 par des puissances de 10 supérieures. Malencontreusement, ces séries ne conviennent pas lorsqu'il s'agit d'effectuer de vrais calculs de décimales de 7r. On peut transformer la sommation infinie sur Z en une somme sur N (n allant de 0 à +00), et les termes figurant dans la première série sont calculables à partir de simples décalages décimaux. Néanmoins, on a besoin de la valeur de In(10) dans la première formule, et cela demande plus de temps de calculs que celui de 7r lui-même, alors qu'il faudrait calculer aux environs de 30 milliards de décimales de eX pour utiliser la seconde série.
65
Approximations de jeunesse
3
Approximations de jeunesse
Lors de la compétition « Jugend forscht » (la jeunesse cherche) qui se tient chaque année en Allemagne, Sven Kabus obtint en 1998 à Schleswig-Holstein, un premier prix avec un algorithme d'approximation de 7r basé sur la formule d'approximation de Aryabhata (4.9). Kabus [70] redémontra tout d'abord une formule analogue à celle de (4.9) pour le périmètre d'un polygone régulier à 8,16,32 ... côtés circonscrit au cercle unité, puis il observa que l'équation (4.9) se ramenait à sa propre formule, i.e. à celle du polygone à 16 côtés (4.61)
Uu =
2UE3
3
V2+V2+V2
où UUn et U En désignent respectivement le périmètre d'un polygone régulier à 2n+l côtés circonscrit et inscrit dans le cercle unité. Kabus remarqua ensuite de manière expérimentale que les périmètres des polygones réguliers circonscrits au cercle et les périmètres des polygones réguliers inscrits dans le cercle unité étaient toujours éloignés de la circonférence dudit cercle dans un rapport de 2, soit (4.62) Kabus déduisit de ces deux observations un algorithme itératif de calcul de 7r
Algorithme de Kabus
initialisation:
ao = . 1~
V2 + ~4 v'2
itération: Pour n de 0 à K - 1, calculer
an +1 =
V~ 2" + 2"a n
résultat: 2K+2
PK= ---3
X
)2 - 2aK
+ )2 - 2ak+l )2 + 2aK+1
------~==~==~--~
Chaque itération améliore le nombre de décimales exactes de 7r d'un facteur 1.2, alors que, par exemple, le doublement du nombre de côtés du polygone utilisé dans l'algorithme d'Euclide n'améliore l'approximation que de 0.6 place. En ajoutant diverses améliorations ingénieuses liées à l'arithmétique des ordinateurs et en programmant son algorithme en Pascal, Kabus arriva à calculer 5 000 décimales exactes de 7r.
66
4
Approximations de
7r
et fractions continues
À propos des fractions continues
Les fractions continues sont citées un nombre non négligeable de fois dans ce livre et il est grand temps maintenant de s'y arrêter. On pourrait appeler les fractions continues les « enfants perdus» de l'enseignement des mathématiques. On les considère comme trop complexes pour être enseignées dans le secondaire et trop élémentaires pour être enseignées dans le supérieur; ainsi, étant à la limite des programmes de ces deux cycles .... elles tombent aux oubliettes [18, p. 129]. Historiquement, la notion de fraction continue remonte aux mathématiciens du XVIIe siècle comme Cataldi, 'Wallis et Huygens, et même dans son origine à Leonhard Euler, qui les introduisit en 1748 dans son Introductio in analysin infinitorum [52, p.303 et suivantes]. Le texte classique sur ce sujet passionnant est celui de Oskar Perron [90]. Citons également un ouvrage plus récent est celui de C. D. Olds [87]. Une fraction continue est une fraction dont le numérateur est un entier et dont le dénominateur est la somme d'un entier et d'une fraction qui, elle même, se présente sous la même forme, soit :
(4.63)
al
bo +--------------------a2 bl + - - - - - - - - - b2
a3 + ------------b3 +
ou (4.64) Cette représentation, qui prend rapidement beaucoup de place, est souvent remplacée par la notation suivante (A. Prigsheim, 1898) (4.65) voire par (L.J. Rogers, 1907)
(4.66)
À propos des fractions continues
67
Les fractions continues régulières (Perron) ou simples (Olds) [90] [87], sont celles dont les numérateurs ai sont tous égaux à 1. On les écrit alors de la manière suivante: Les éléments ai et bi d'une fraction continue sont respectivement appelés numérateur partiel et dénominateur partiel. Tout nombre réel peut être représenté de manière unique par une fraction continue régulière. Un nombre est rationnel si sa fraction continue est finie, et irrationnel si sa fraction continue est infinie. Ce second théorème montre immédiatement, par exemple, que tous les nombres de la liste suivante sont irrationnels parce que leurs fractions continues sont infinies. La preuve de l'irrationalité de 7r que Johann Heinrich Lambert démontra en 1766 se fonde également sur ce théorème. Lambert 7r montra que la fraction continue de arctan 1 = 4 est infinie et donc que 7r / 4 et
7r
doivent être irrationnels (voir chapitre 13).
La transformation d'un nombre de sa représentation décimale en sa forme de fraction continue, et vice-versa, est assez simple. On peut le faire à l'aide de toute calculatrice de poche qui a une opération inverse l/x. L'algorithme de conversion de la forme décimale à la forme fraction continue est le suivant :
**************************************************************** // Conversion forme décimale/fraction continue
**************************************************************** // cf[] : array with the elements of the continued fraction
procedure NumberToCf(number, n, cf[O .. n-1]) {
for k:=O to n-1 {
x
cf [k]
}
}
floor(number)
.- x
number:= l/(number-x)
et la procédure inverse de conversion de la forme fraction continue en la forme fraction décimale :
******************************************************************
*
Conversion fraction continue/forme décimale
******************************************************************
function CfToNumber(n, cf[O .. n-1]) {
number := cf[n-1] for k:=n-2 to 0 step -1 {
}
}
number := l/number + cf[k]
return number
68
Approximations de
1T
et fractions continues
Voici, ci-dessous les fractions continues de certaines constantes mathématiques célèbres 3
(4.67)
cp= V5+1
(nombre d'or) 2 = 1.61803 39887 49894 84820 ...
= [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... ]
(4.68)
(4.69)
v'2 =
=
J3 =
1.41421 35623 73095 04880 ... [1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, ... ]
1.73205 08075 68877 29352 ...
= [1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1, ... ]
e = 2.71828 18284 59045 23536 ...
(4.70)
= [2,1,2,1,1,4,1,1,6,1,1,8,1,1,10,1,1,12,1,1,14,1, ... ] (Euler, 1737)
(4.71)
e
2
= 7.38905
60989 30650 22723 ...
= [7,2,1,1,3,18,5,1,1,6,30,8,1,1,9,42,11,1,1,12,54, ... ]
(Stieltjes, c.1890[90])
(4.72)
Ve = 1.64872 12707 00128 14684 ... =
[1,1,1,1,5,1,1,9,1,1,13,1,1,17,1,1,21,1,1,25,1,1, ... ]
(Sundman, 1895)
(4.73)
1T
= 3.14159 26535 89793 23846 ... = [3,7,15,1,292,1,1,1,2,1,3,1,14,2,1,1,2,2,2,2,1,84, ... ]
3Comme le présent ouvrage s'attache presuqe exclusivement aux nombres transcendants, et, tout au plus aux nombres irrationnels, nous ne nous intéresserons naturellement qu'aux fractions continues infinies.
69
À propos des fractions continues
Vii = 1.77245 38509 05516 02729 ...
(4.74)
= [1,1,3,2,1,1,6,1,28,13,1,1,2,18,1,1,1,83,1,4, ... ]
(4.75)
(4.76)
11"e
= 22.45915 77183 61045 47343 ... = [22,2,5,1,1,1,1,1,3,2,1,1,3,9,15,25,1,1,5,4,1, ... ]
ij2 = 1.25992 10498 94873 16476 ...
= [1,3,1,5,1,1,4,1,1,8,1,14,1,10,2,1,4,12,2,3,2,1, ... ]
(4.77)
n
Î =
1
lim ' " -k - ln n n---++oo L
(constante d'Euler)
k=l
= 0.57721 56649 01532 86060 ... = [0,1,1,2,1,2,1,4,3,13,5,1,1,8,1,2,4,1,1,40,1,11,3, ... ] (Euler, 1734) En examinant de manière attentive ces exemples de développement en fractions continues, nous pouvons lire un schéma périodique dans les fractions continues des six premières constantes; par exemple, dans le développement de Je la séquence 1,1, 4n+ 1, tandis que cela ne se produit pas dans les cinq cas des développements liés au nombre 11". Nous ne pouvons pas en conclure que les fractions continues de nombreuses, voire de la majorité des constantes mathématiques ont un schéma régulier ou répétitif. Dans la réalité, ce fait s'applique seulement à une minorité de nombres, notamment à ceux appelés à irrationalité quadratique, dont un exemple est le nombre d'or ljJ
= V5 + 1, ainsi qu'à quelques nombres trans-
2 cendantaux bien connus, comme la constante e et des expressions algébriques contenant e, e2 ou e 1 / q , avec q entier. Fait intéressant, pour presque tous les nombres transcendants ou irrationnels, incluant 11", la moyenne géométrique des n premiers éléments du développement en fraction continue converge vers une limite, et cette limite est la même dans tous ces nombres. Cette découverte étonnante a été faite en 1935 par Alexandre Khintchine (1894-1959), [74] :
70
(4.78)
Approximations de
lim
n---t+oo
y'b 1 b2 ···bn
Cette limite Ko est égale à
g n
(
7r
et fractions continues
= Ko = 2.6854520010 ... 1 + k(k
1) + 2)
log2 k
et est connue sous le
nom de constante de Khintchine. Ce nombre est difficile à calculer, et on ne connaît qu'une modeste partie de son développement décimal: 110 000 décimales exactes (quand même ... ). En ce qui concerne le nombre 7r, la moyenne géométrique des 17 001 303 premiers éléments du développement en fraction continue converge vers un réel approximativement égal à 2.686393 [12], qui est assez proche de la constante de Khintchine. En revanche, la moyenne géométrique des n premiers termes du développements en fraction continue du nombre e, diverge (c'est une première exception), tandis que dans le cas du nombre d'or > (autre exception), le développement en fraction continue étant toujours égal à 1, la moyenne géométrique vaut 1. Si l'on jette un regard à la table des approximations décimales de 7r, on pourrait penser, au vu de ce qui vient d'être dit, que le développement en fraction continue est une représentation plus compacte que le développement décimal. On voit par exemple, que pour une même approximation de 7r, il suffit de 3 éléments pour la fraction continue et de 6 éléments pour le développement décimal. Cependant, c'est seulement le cas à certains endroits spécifiques, qui correspondent précisément aux endroits où l'on doit arrêter le développement en fraction continue pour obtenir la meilleure approximation. Si l'on va plus loin dans chacune de ces deux représentations, l'avantage que pourrait posséder la fraction continue sur le développement décimal disparaît toujours, et généralement, le développement en fraction continue d'un nombre irrationnel nécessite autant d'éléments et n'est pas une meilleure approximation que son camarade, le développement décimal. Le rapport entre le nombre de décimales exactes d'une approximation de 7r et le nombre d'éléments de la fraction continue donnant la même approximation converge vers une limite qui est proche de 1, comme l'a prouvé Alexandre Khintchine en 1935. La valeur exacte de cette limite 1.03064 ... minée par Paul Lévy en 1937.
= 1
2
7r
6n2·lnlO
a été déter-
5 Les formules de l'arc tangente 1
La formule de John Machin
Aux environs de 2000 av. J.-C. les Babyloniens et les Égyptiens étaient arrivés à approcher 7r avec une décimale exacte en utilisant des mesures de la longueur du cercle. Archimède fut le premier mathématicien à développer une approximation fondée sur la géométrie vers 250 av. J.-C. et sa méthode des polygones servit de base pour les approximations de 7r durant les 2 000 années suivantes en 1630 jusqu'à obtenir 39 décimales exactes. La seconde moitié du XVIIe siècle vit le développement de l'analyse infinitésimale, qui rendit possible la formulation d'expressions infinies de 7r. C'était une méthode analytique de calcul au moyen de laquelle on pouvait étudier le nombre 7r de façon plus précise. Parmi les expressions infinies de 7r, une famille de formules toutes basées sur la fonction arc tangente se distingua. Les fonctions « arcs» sont les inverses des fonctions trigonométriques (sin, cos, tan, etc.) Comme leur nom le suggère, elles constituent des arcs ou sections (circulaires) de ces fonctions. Si x = tan y, alors arctan x = y, si y appartient à l'intervalle 1 - 7r /2, 7r /2[. Pour notre but, le cas particulier de x = 1 est intéressant car en ce point, la fonction arc tangente prend la valeur 7r /4 (ou 45 degrés d'arc).
(5.1 )
7r
tan 4
7r
= 1 et -
4
El - -7r2' -7r2 ['
7r
donc -4
= arctan 1
La fonction arc tangente s'exprime à l'aide d'une série qui est relativement facile à calculer et qui fut, à l'origine, découverte par James Gregory (16381675). En calculant l'aire se trouvant sous la courbe d'équation y entre les bornes 0 et x, il trouva (5.2)
arctan x =
{X
Jo
dt
1+t
2
=
1
---2
l+x
Les formules de l'arc tangente
72
Il en déduisit la série de Gregory (1671) : (5.3)
arctan x
x3 x5 x7 357
= x - - + - - - + ...
Pour obtenir une formule pour 7r à l'aide de la série (5.3), il suffit de remplacer 7r x par 1 parce que, comme on l'a mentionné plus haut, arctan 1 = 4. La série qui en résulte se nomme série de Leibniz (1674) (5.4) En raison sans doute de sa simplicité, «tout étudiant» connaît la série de Leibniz. Cependant, cette série ne convient pas au calcul numérique de 7r parce que son terme général ne décroît vers 0 que très lentement. Si l'on tronque la série au n-ième terme, l'erreur absolue, i.e. la différence entre la somme ainsi obtenue et la vraie valeur de 7r, est équivalente à l/n seulement. Donc, par exemple, même en calculant 2 milliards de termes, on obtiendrait seulement 9 décimales exactes de 7r. Cette convergence très lente de la série de Leibniz (5.4) est due au fait « qu'elle essaie d'en faire trop d'un coup», si l'on peut l'exprimer ainsi. Elle détermine 7r/4 en calculant un seul arc tangente, i.e. un seul arc. Mais si l'on décompose 7r / 4 d'une façon convenable en plusieurs arcs circulaires relativement petits, on arrive à des formules qui permettent de calculer 7r de manière considérablement plus rapide. La plus simple de ces formules remonte à Leonhard Euler (1707-1783), et s' écri t ainsi : (5.5)
7r
1
1
4 = arctan "2 + arctan 3"
La démonstration classique de cette formule utilise l'identité trigonométrique bien connue (5.6)
tan (a
et en y substituant tana f3 = arctan 1/3.
=
a + tan f3 + (3) = -tan ----1 - tanatanf3
1/2 et tanf3
=
1/3, soit a
=
arctan1/2 et
Une démonstration plus simple repose sur l'identification des arguments des nombres complexes intervenant dans l'équation (5 - i)4(1 + i) = 4(239 - i). Le diagramme suivant fournit une interprétation géométrique de cette formule:
73
La formule de John Machin
D
B tan l3
o
A
1
La somme des arcs AC = arctan 1/3 et CE = arctan 1/2 donne l'arc AE = arctan 1 = 1f/4. Si l'on remplace chacune de ces expressions dans la formule d'Euler (5.5) avec la série de Gregory (5.3), on voit que ses termes deviennent plus petits beaucoup plus rapidement que ceux de la série de Leibniz. Par exemple le 100e terme de la série de Leibniz (16.59) (= arctan 1) est inférieur à 10- 2 , alors que le 100e terme de arctan 1/2 est, lui, inférieur à 10- 62 , tandis que le 100-ième terme de arctan 1/3 est inférieur à 10- 98 . Cette amélioration dans l'accélération de la convergence compense largement le désavantage du calcul de deux séries au lieu d'une seule. Une formule encore meilleure peut être obtenue par l'addition de deux arcs circulaires [76, p.246] Le nombre (5.7)
0:
11111 5 5 3 . 53 5 . 53 7 . 53
= arctan - = - - - - + - - - - - + ...
est obtenu à partir de la formule de Gregory (5.3) en posant x tan 0: = 1/5. Ainsi (5.8)
tan 20:
=
2 tan 0: 2 1 - tan 0:
= 1/5. Donc,
5 12
et (5.9)
tan 40:
=
120 119
On observe que 40: n'est qu'un petit peu plus grand que 1f/4. Si l'on introduit un deuxième angle (3 avec (3 = 40: - i, alors (5.10)
tan (3
=
tan 40: - tan( 4) 1 + tan 40: . tan( /4)
1f / ----------~~~ 1f
1
239
74
Les formules de l'arc tangente
En fait (3 se calcule facilement
(5.11)
(3
1
= arctan 239 =
1 1 239 - 3 . 239 3
1
+ 5 . 239 5
-
...
et la formule de Machin (1706) regroupe 0: et (3 ensemble
(5.12)
- = 40: - (3 7f
4
1
1
(5.13)
= 4 arctan 5" - arctan 239
(5.14)
= 4 [ 5" - 3 . 53 + 5 . 53 - . .. -
1
1
1
]
[1 1 239 - 3 . 239 3
1 + 5 . 239 5
-
...
Cette formule porte le nom de son découvreur, John Machin (1680-1752), qui s'en servit en 1706 pour calculer 7f avec 100 décimales exactes. Chaque terme de la première série est environ 25 fois plus petit que celui qui le précède. Le calcul d'un nouveau terme fournit donc en moyenne IOglO 25 = 1.39 décimale exacte supplémentaire. La présence du 5 au dénominateur facilite les calculs à la main de cette série. La seconde série intervenant dans la formule est d'un calcul plus pénible en raison du 239 quelque peu bizarre; en revanche, elle converge plus rapidement, avec environ 4.76 décimales exactes (loglO(239 2 )) pour chaque terme calculé.
2
D'autres formules liées à l'arc tangente
Il existe plusieurs méthodes systématiques pour obtenir des relations liées aux arc tangentes. L'une d'entre elles consiste à employer les formules [41, p.91]
(5.15)
l I b
arctan -a---b
= arctan -;;, + arctan -a7"2---a-b-+-1
et (5.16)
1 1 1 arctan -;;, = 2 arctan 2a - arctan -4-a~3-+-3-a
pour des valeurs appropriées de a et b. La substitution de a = 2 et b = 1 produit la formule d'Euler mentionnée plus haut (5.5), tandis qu'en posant a = 3 et b = 1 on obtient la formule (5.17) de Charles Hutton (1737-1823), ci-dessous. En combinant cette formule avec d'autres méthodes, on a obtenu,au cours des ans, de nombreuses autres formules liées à l'arc tangente
]
75
D'autres formules liées à l'arc tangente
et permettant le calcul de 7r / 4, en particulier lorsque la fonction arc tangente y apparaît plus de deux fois. En voici une sélection
(5.17)
1
7r
1
"4 = 2 arctan"3 + arctan"7
(Hutton, 1776, Indice de Performance: 3.28)
111
(5.18)
= 3 arctan "4 + arctan 20 + arctan 1985
(5.19)
=
(5.20)
= 4 arctan "5 - arctan 239
(5.21)
= 8 arctan - - arctan -
(5.22)
=
1 6 arctan "8
1
1
+ 2 arctan 57 + arctan 239
1
1
1 10 1 12 arctan 18
(Loney, 1893, IP : 2.73) (Stormer, 1896, IP : 2.10)
(Machin, 1706, IP : l.85)
1 1 - 4 arctan - 239 515 1 1 + 8 arctan 57 - 5 arctan 239
(Klingenstierna, 1730, IP : l.74)
(Gauss, [56,II p.524], IP : l.79)
1 1 1
= 22 arctan 28 + 2 arctan 443 - 5 arctan 1393 (5.23) (5.24)
1
- 10 arctan 11018 1
(Escott, IP : l.63)
1
1
= 44 arctan 57 + 7 arctan 239 - 12 arctan 682 1
+ 24 arctan 12943
(Stormer, 1896, IP : l.59)
Cette liste contient certaines des formules en arc tangente dont les auteurs sont connus. Il en existe de nombreuses autres, dont les auteurs restent inconnus. On trouvera sur le site Internet de Vuibert une collection substantielle de ces formules, incluant certains «monstres» qui comportent 11,12 voire 13 termes, ainsi qu'un algorithme qui peut être utilisé pour en découvrir d'autres de manière automatique. Avec le nom des auteurs, la liste fournit un «indice de performance» (IP). Plus ce nombre est petit, meilleure est l'approximation, ce qui signifie ici que le calcul de 7r demande moins d'efforts. L'indice de performance est basé sur le calcul de l'expression l/logal + 1/loga2 + ... + l/loga n . De cette liste il ressort que la formule de Machin est une des meilleures. C'est également la meilleure des quatre formules en arc tangente de la collection qui comprennent seulement deux termes [32, p. 345]. Cela explique pourquoi pendant plus 250 ans elle est restée la formule favorite des chasseurs de décimales de 7r. D'autres formules en arc tangente furent employées pendant longtemps. Par exemple, Leonhard Euler utilisa, en 1755, la relation suivante (5.25)
7r
1
3
"4 = 5 arctan "7 + 2 arctan 79
(Euler, IP : l.89)
76
Les formules de l'arc tangente
+ 3i? = 50 x
relation qui découle de l'égalité (7 + i)5(79
12502 (1
+ i).
Son indice de performance de 1.89 est moins bon que celui des formules citées ci-dessus. Cependant Euler découvrit une manière élégante de réduire la quantité de calculs. Il prouva en 1755 l'identité arctan x
(5.26)
avec y
=
y( 1 + -y 2 2.4 + --y
=-
x
3
2
3·5
+ 2.4.6 y 3 + ... ) 3·5·7
x2
1 + x2
.
Il Y inséra ensuite les arguments de (5.25). Le premier, x = 1/7, donne y = 2/100, tandis que le second, x = 3/79, conduit à y = 144/100 000. Ces valeurs de y sous forme de puissances de 10 simplifient les calculs. Grâce à cette astuce, Euler fut capable de calculer, en moins d'une heure, 20 décimales exactes de 7r [32, p. 340]. Dans la formule en arc tangente de Gauss mentionnée plus haut (5.22), les arguments 1/18 et 1/57 ont une propriété similaire très utile: (5.27)
1 arctan18
= 18 ( - 1
325
2
2·4
+ 3 . 325 2 + 3 . 5 . 3253 + ...
)
et
(5.28)
1arctan -1 = 57 (57 3250
2
2·4
+ 3.32502 + 3.5.32503 + ...
)
Une fois encore, le calcul est simplifié grâce aux décalages décimaux, à la suite desquels les termes de la seconde série se déduisent de ceux de la première série. Pour cette raison, la formule de Gauss en arc tangente (5.22) était connue comme étant « la meilleure formule pour le calcul des mille premières décimales de 7r » avant l'ère de l'ordinateur [16]. Un calcul des décimales de 7r utilisant ces formules en arc tangente est extrêmement facile à programmer. On trouvera sur le site Vuibert un tel exemple de programme élémentaire. Il Y a quelques années, Jorg Arndt consacra des efforts considérables à la recherche de formules en arc tangente, et il en découvrit de particulièrement belles qui figurent en bonne place dans la collection de formules ((16.124) à (16.132)). Il était en fait à la recherche d'expressions dans lesquelles le premier terme ait le plus grand dénominateur possible. Il fut tout particulièrement satisfait lorsque son ordinateur lui proposa la formule suivante comprenant 11 arc tangentes:
D'autres formules liées à l'arc tangente
(5.29)
~
77
1 1 1 + 135908 arctan + 274509 arctan - - 390112 485298 683982 1 1 1 - 39581 arctan + 178477 arctan - 114569 arctan - - 1984933 2478328 3449051 1 1 1 146571 arctan + 61914 arctan - 6044 arctan - - - 18975991 22709274 24208144
- = 36462 arctan 4
1
1
89431 arctan 201229582 - 43938 arctan 2189376182
(Arndt [7], 1993)
Les deux formules suivantes méritent une mention spéciale pour une raison toute différente (Arndt, 1994) : (5.30) ~ 1 1 1 1 00 1 - = arctan - + arctan - + arctan - + arctan - + ... = '""""' arctan 4 2 5 13 34 ~ Fn n=l et
(5.31)
-~ = 3VS 4
2
5- ~
~F2narctan
n=l
(2) 3
3F2n +2 + F 2n +2
Ces deux séries possèdent une infinité de termes en arc tangentes et ne peuvent donc être utilisées pour un calcul efficace des décimales de~. Mais ce qui les distingue c'est qu'elles sont composées à partir des célèbres nombres de Fibonacci Fn. Ces nombres doivent leur nom à celui qui les a découvert, Fibonacci, dont le vrai nom était Léonard de Pise (1180-1240) ; les premiers termes de la suite (Fn) sont 1,1,2,3,5,8,13,21,34, ... Cette suite est définie à partir de Fo = FI = 1 et par la relation Fn+2 = Fn+ l + Fn, valable pour tout n ~ 1 (chaque terme est la somme des deux termes qui le précèdent). Les nombres de Fibonacci ont certaines caractéristiques très intéressantes et apparaissent souvent dans l'explication de phénomènes naturels. Ils forgent, en particulier, un pont entre mathématiques et art puisque le rapport de deux nombres de Fibonacci consécutifs converge vers le «nombre d'or»
cp =
VS2+ 1 =
1.61803 ...
Depuis l'Antiquité, ce nombre d'or est considérée comme un critère d'esthétique en sculpture, en peinture et en architecture; il apparaît de manière logique dans la formule d'Arndt's (5.31). Ainsi, les nombres de Fibonacci confèrent-ils à ~ une touche artistique ...
6 Les algorithmes du goutte à goutte L'algorithme du goutte à goutte, développé par Stanley Rabinowitz et Stanley Wagon [95], est une méthode élégante et nouvelle de calcul des décimales de 7r. C'est un algorithme idéal car simple à implémenter et à voir fonctionner sur un ordinateur personnel. 1. Au départ, l'algorithme du goutte à goutte calcule les premières décimales de 7r puis il donne les décimales suivantes, par paquets, à intervalles réguliers. Avec toute autre méthode, toutes les décimales de 7r doivent être calculées, stockées dans un tampon, et, à la fin seulement, toutes les décimales sont rendues de la première à la dernière. L'algorithme du goutte à goutte doit son nom au fait que les décimales de 7r sortent une à une. On peut étudier son fonctionnement pas à pas, et il est particulièrement bien adapté pour des démonstrations «en ligne» sur Internet. Le site Vuibert renvoie vers un applet Java spigot. pispigot. html, qui montre l'algorithme en action. Pour le faire fonctionner, le navigateur doit seulement incorporer une console Java. 2. L'algorithme fonctionne très bien avec de «petits» entiers; même pour 15 000 décimales de 7r, les valeurs des variables utilisées dans le programme ne dépassent pas 32 octets (en incluant le signe ±), si bien que le type long du C est suffisant pour des compilateurs 16 bits et 32 bits: cela signifie que l'on n'aura pas de problèmes de dépassement liés à l'arrondi, l'effacement ou la troncature, problèmes qui existent avec d'autres algorithmes et rendent leur programmation parfois très pénible. 3. La mise en œuvre de l'algorithme du goutte à goutte ne nécessite aucun logiciel supplémentaire, comme par exemple, une bibliothèque de calcul en haute précision. Tout ce qui est nécessaire se trouve dans tout compilateur C standard.
80
Les algorithmes du goutte à goutte
4. L'algorithme du goutte à goutte est étonnamment performant. Bien que sa complexité soit d'ordre quadratique, ce qui fait qu'il ne peut se comparer avec d'autres algorithmes performants comme celui de l'AGM de Gauss (voir chapitre 7), il surpasse de loin les algorithmes fondés sur les séries liées à l'arc tangente (voir le chapitre précédent). 5. Les mathématiques qui se cachent derrière cet algorithme sont particulièrement simples. 6. L'algorithme du goutte à goutte peut être écrit en quelques lignes de code. Les programmes les plus courts de calcul de 1f sont fondés sur lui. On en a vu précédemment une démonstration.
1
l'algorithme du goutte à goutte en détail
Le point de départ est la formule suivante dont la structure est assez simple:
(6.1) Ce résultat peut être démontré à partir de la série de Leibniz (16.59) sans grand effort si l'on utilise la transformation d'Euler [76, p. 255]. Cependant, nous ne le démontrerons pas dans une première étape. On peut regarder la série (6.1) comme le développement d'un nombre dans un système de numération de base variable. Généralement, on ne rencontre que des développements en base fixe, le plus souvent en base décimale dix. Chaque « décimale» d'un tel développement est multipliée par une valeur supérieure à la valeur de la décimale suivante (celle du chiffre immédiatement à droite), par un facteur constant appelé la « base». On rencontre parfois des nombres pour lesquels ce facteur n'est pas constant, par exemple les nombres qui correspondent à l'expression « 2 semaines, 3 jours, 4 heures et 5 minutes». Comme la proportion de semaines par rapport aux jours est de 1 à 7, celle des jours par rapport aux heures est de 1 à 24, et celle des heures par rapport aux minutes est de 1 à 60, lorsqu'on convertit ce nombre en un nombre décimal (l'unité étant la semaine), trois facteurs différents sont à considérer: 1/7,1/24 et 1/60. Aussi, pour répondre à la question de savoir combien de semaines il y a dans l'exemple ci-dessus, nous devons calculer (6.2) Comparons maintenant cette expression avec celle figurant dans la partie droite de l'équation de 1f (6.1). On y voit le même type de parenthésage
81
L'algorithme du goutte à goutte en détail
ainsi que des bases différentes. En revanche, dans la série (6.1) définissant 1f tous les chiffres sont égaux à 2, tandis que dans l'exemple de la conversion d'un temps en semaines, ils sont différents et valent 2,3,4 et 5; la série définissant 1f est également infinie, tandis que dans l'exemple précédent on s'arrête après le quatrième chiffre. Revenons au nombre 1f. L'algorithme du goutte à goutte consiste simplement à convertir la série (6.1) définissant 1f à notre bon vieux système décimal, c'est-à-dire à la forme:
(6.3)
1f
1 10
1 10
1 10
1 10
= 3.1415 ... = 3 + -(1 + -(4 + -(1 + -(5 + ... ))))
Une telle tâche est connue en arithmétique sous le nom de conversion de radical et fonctionne dans le cas présent comme suit : À chaque étape, une décimale de 1f est calculée. Pour le faire, tout d'abord, tous les chiffres du nombre à convertir sont multipliés par 10 (la nouvelle base). Puis, en commençant par la droite, chaque décimale est divisée par la base précédente (2i + l)/i qui s'applique à cette décimale. À chaque division, on retient le reste, et le quotient est reporté sur la prochaine décimale. La dernière retenue calculée est la nouvelle décimale de 1f.
Il faut maintenant savoir combien de termes dans la série (6.1) définissant 1f doivent être calculés afin d'obtenir n décimales exactes de 1f, tout en incluant le chiffre 3, partie entière de 1f. Dans leur article, Rabinowitz et Wagon donnent la valeur l10n/3J, où la notation lxJ désigne la partie entière de x, c'est-à-dire le plus grand entier inférieur ou égal à x; par exemple, l10/3 J = 3 et l3 J = 3. Ils « démontrent» même que cette valeur est «correcte». Malheureusement, cette valeur n'est pas correcte, comme ils auraient pu s'en apercevoir en essayant avec n = 1 et n = 32. Nous prenons la liberté de corriger cette erreur et de proposer l10n/3 J + 1 places décimales, en supposant, après l'avoir testée, que notre hypothèse est correcte dans tous les cas. Avant de commencer à programmer notre algorithme, il nous faut expliquer sa vraie difficulté. Quand la base de la série (6.1) définissant 1f est changée, il peut arriver que le nombre 10 apparaisse en position p, i.e. 3.1415 ... (p)(10). Le chiffre 1 de ce 10 est une retenue non traitée qui doit être ajoutée au chiffre précédent 3.1415 ... (p + 1)0. Il peut même arriver qu'avant un tel 10, un ou plusieurs 9 aient été calculés, et dans ce cas ils doivent être tous corrigés. Le 3.1415 ... (p)99 . .. 9(10) doit alors être transformé en 3.1415 ... (p + 1)00 ... 00. Cette difficulté signifie que, si ce sont des 9, le programme calculant 1f ne peut certifier la véracité des chiffres calculés immédiatement après leur calcul, mais
Les algorithmes du goutte à goutte
82
va devoir les emmagasiner dans un tampon jusqu'à ce qu'un chiffre différent de 9 ait été calculé. Quand un nouveau chiffre arrive, un ou plusieurs chiffres seront conservés dans le tampon. Le premier d'entre eux sera obligatoirement strictement inférieur à 9, et les autres, s'il existent, exactement égaux à 9. Ainsi, nous sommes, dans le tampon, dans la situation suivante quand arrive un nouveau chiffre q : p99 . .. 9 +--- q Il Y a maintenant trois possibilités: 1. q < 9 : dans ce cas il n'est plus nécessaire de garder cette valeur dans le tampon. On sait alors que p et tous les 99 ... 9 sont corrects et q est la décimale suivante.
=
9 : on ne peut conclure, si bien que le nombre de 9 dans le tampon est augmenté d'une unité quand on y ajoute q. 2. q
3. q = 10 : il s'avère qu'on a eu raison de stocker les valeurs intermédiaires dans le tampon parce qu'un 1 doit être maintenant ajouté à tous les chiffres contenus dans le tampon. Par suite, p est incrémenté de 1, et tous les 9 contenus temporairement dans le tampon sont mis à O. On connaît à présent avec certitude la valeur de toutes les décimales qui étaient temporairement stockées dans le tampon qui peut être maintenant remis à O. La difficulté est ainsi due au fait que la série (6.1) définissant 7r n'est pas unique, lorsqu'on s'intéresse à la seconde position. Par exemple, ~ peut être représenté de deux façons, par 0 + ~(O + ~(2 + ~(3 + ... ))) et par 0 + ~(2). Il existe des séries pour lesquelles la décomposition de 7r est unique, mais le calcul est alors beaucoup plus compliqué que celui de (6.1).
2
Suite d'opérations
Nous avons maintenant réuni tous les éléments nécessaires pour décrire la suite des opérations de l'algorithme du goutte à goutte. L'algorithme du goutte à goutte calcule les n premières décimales de 7r. Il travaille sur un tableau a[O], a[I], ... ,a[N], avec N + 1 = lIOn) /3 J+ 1 entiers. De plus, deux variables p et q sont utilisées pour enregistrer la première et la position décimale qui est traitée, ainsi qu'une variable nines pour stocker le nombre de 9 temporaires.
Initialisation: p = 0 et nines= O. Pour i = 0,1,2, ... N, a[i] = 2.
Itération: Répéter jusqu'à ce que n décimales aient été rendues
83
Suite d'opérations
• multiplication avec la nouvelle base: multiplier chaque a[i] par 10. • normalisation: en commençant par la droite, pour i = N jusqu'à i = 1, diviser a[i] par (2i + 1) pour obtenir un quotient q et un reste r. Remplacer a[i] par r. Multiplier q par i et ajouter le résultat (le report) à a[i - 1]. • Calcul du prochain chiffre de 1r en attente: on traite d'abord le chiffre le plus à gauche, a[O]. Il est divisé par 10. Le reste de cette division remplace a[O], tandis que le quotient q donne le prochain chiffre en attente de 1r. • correction des chiffres en attente : si q n'est ni 9 ni 10, alors le premier chiffre en attente jusqu'alors, p, et les nines qui lui succèdent sont confirmés comme vraies décimales de 1r et rendus. Le nouveau premier chiffre en attente p devient maintenant égal à q, et nines est mis à O. Si q = 9, la variable contenue dans nines est incrémentée de 1. On ne rend aucun chiffre. Si q = 10, le premier chiffre en attente jusqu'à maintenant, p, est incrémenté de 1 et rendu. Les chiffres contenus dans nines deviennent tous des 0 et sont rendus. Le nouveau premier chiffre en attente, p, est également mis à 0 (qui est le premier chiffre de q) et nines est mis à O. Une légère amélioration peut être réalisée si l'on initialise le premier chiffre en attente de p avec une valeur négative, et si l'on teste cette valeur lors de l'opération de rendu des décimales. Cela signifie simplement que les premières décimales rendues sont 314 ... au lieu de commencer par un zéro. La fonction C suivante spigot () vient implémenter l'algorithme. ************************************************************************* * Programme goutte à goutte pour pi * 1 chiffre par boucle ************************************************************************* * function * void spigot(digits)
*1 #include <stdio.h> #include <stdlib.h> void spigot(int digits)
{
int int int int
i, nines = 0; q,
p = -1;
len = 10*digits/3+1; *a;
a = malloc(len*sizeof(*a)); for (i=O; i < len; ++i) a[i] = 2; while (digits >= 0)
1* 1* 1* 1*
next prelim. digit previous prelim. digit len: One more than R+W array pointer
1* Init a[] with 2's
84
Les algorithmes du goutte à goutte {
q
=
0;
1* Compensate for the very first digit *1
for(i=len; --i >= 1; {
}
q += 10L * a[i]; a[i] = q % (i+i+l); q 1= (i+i+l); q *= i',
q += 10L * a[O]; a[O] = q % 10; q 1= 10; i f (q == 9)
++nines; else
{
}
}
}
i f (p >= 0)
1* q = carry + 10*a[i] 1* a[i] := q % (2i+l) 1* carry := floor(q,2i+l)*i
*1 *1 *1
first digit carry + 10 * a[O] q a[O] = q mod 10 q : next prelim digit
*1 *1 *1 *1
1* 1* 1* 1*
9: increment no of 9's 1* q 1* q != 9: print prelim. digits
printfC"%Olld", p + q/l0); 1* p : prev. prel. digit if (digits < nines) 1* adjust digits to print nines = digits; digits -= (nines+l); while (--nines >= 0) 1* print 9's or O's printf(q == 10? "0" "9") ; nines = O· P = (q =='10 ? 0 : q); 1* set previous prelim. digit
*1 *1 *1 *1
free(a); return;
À la fin de leur article ([95]) cité ci-dessus, Rabinowitz et Wagon proposèrent un programme Pascal qui n'avait manifestement pas été rédigé par les auteurs eux-mêmes, mais certainement par un de leurs étudiants, auquel d'ailleurs ils exprimaient leur gratitude. Ce programme a été retapé et essayé par plusieurs lecteurs. Ceux-ci ont rencontré divers problèmes; par exemple, si l'on utilise un compilateur Pascal 16 bits, le programme s'arrêtera pour des entiers n > 262, avec un message de débordement de type. Comme nous l'avons remarqué précédemment, leur programme, pour n = 1 et n = 32, fournit une décimale incorrecte, due au fait que le tableau stockant ces décimales est de longueur trop petite, ou, dans de nombreux cas, il retourne moins de décimales que ce qui est prévu, car la variable nines n'est pas remise à 0 en fin de programme. Notre programme ci-dessus tente d'éviter ces faiblesses.
3
Une variante plus rapide
On peut apporter à cet algorithme deux améliorations essentielles qUI le rendent nettement plus court et beaucoup plus rapide. Tout d'abord, au lieu de calculer 'if, on peut calculer lOOO'if, en employant la série
85
Une variante plus rapide
(6.4)
10007r
123
= 2000 + 3(2000 + 5(2000 + 7(2000 + ... )))
La conversion n'est ainsi pas effectuée en base 10 mais en base 10 000, si bien qu'à chaque passage, le programme donnera quatre décimales au lieu d'une seule. Cette astuce aura non seulement pour effet, de rendre le programme quatre fois plus rapide, mais aussi un effet plus important encore sur la «complication » mentionnée plus haut. Dans cette version plus rapide, on attend seulement d'obtenir un seul groupe de 4 chiffres, au lieu d'en avoir un nombre variable. Cela est suffisant pour obtenir environ les 50 000 premières décimales de 7r, car, jusque-là, il n'est pas nécessaire de stocker plus d'une seule chaîne de 4 chiffres dans le tampon de réserve. C'est nécessaire uniquement lorsque le développement décimal contient une séquence de 4 zéros consécutifs dont le premier est dans une position divisible par 4. Cela n'arrive pour la première fois qu'à partir de la 54 936 small e décimale de 7r. La seconde amélioration est plutôt de type scolaire et, bien évidemment, elle a été omise dans la formulation originale de l'algorithme du goutte à goutte. En fait, en changeant de base d'écriture, après le calcul d'une «décimale », on peut réduire la longueur du reste devant être traité du nombre de bits du rang de ladite décimale. Ainsi, après chaque calcul d'un bloc formé de 4 décimales, la longueur du domaine de f [J peut être réduite par l10· 4/3 + 1J = 14 places. Cette amélioration accélère encore d'un facteur 2le programme. Voici un programme C pour cette variante. C'est une version améliorée du miniprogramme montré au chapitre 3. ************************************************************************* * Programme goutte à goutte pour pi pour NDIGITS décimales * 4 chiifres par boucle * Version étendue * de Dik T. Winter et Achim Flammenkamp. ************************************************************************* #include <stdio.h> #include <stdlib.h> #define NDIGITS 15000 #define LEN (NDIGITS/4+1)*14 long long long long long long long long
a[LEN] ; b; c = LEN; d; e = 0; f = 10000; g; h = 0;
/* max. digits to compute /* nec. array length /* /* /* /* /* /* /* /*
*/ */
array of 4 digit-decimals*/ nominator prey. base */ index */ accumulator and carry */ save prey. 4 digits */ new base, 4 dec. digits */ denom prey. base */ init switch */
86
Les algorithmes du goutte à goutte
int main(void)
{
{
for ( ; --b > 0; {
}
h d }
}
/* outer loop:4 digits/loop*/
for ( ; (b=c-=14) > 0;
d *= b; i f (h == 0) d += 2000 * f; else d += a[b] * f; g=b+b-1 ; a[b] = d % g; d /= g;
/* inner loop: radix conv
*/
/* ace *= nom. prev base
*/
/* first outer loop
*/
/* non-first outer loop /* denom prev. base
*/ */
/* save carry
*/
printf ("%041d", e+d/f); /* print prev 4 digits */ e = d % f; /* save current 4 digits */ /* assure a small enough d */
return 0;
Lorqu'on fixe NDIGITS = 15 000, ce programme calcule exactement 15 000 décimales de 7r. Il Y a aucune raison de le voir s'arrêter à cette limite à moins que l'on ne se soucie de la portabilité du programme et de sa conformité à la norme ANSI C. Comme la plupart des compilateurs C ne tiennent pas compte des éventuels débordements lors de l'évaluation d'expressions d'entiers signés tant qu'il y a assez d'espace de travail dans le tableau défini, ce programme peut être modifié afin de calculer deux fois plus de décimales de 7r (en utilisant la définition @NDIGITS 32500). Il Y a seulement 40 ans, ce nombre de décimales constituait un record mondial. Néanmoins, aussi grande que soit la longueur du tableau défini dans le programme, et même en utilisant cette dernière variante de l'algorithme du goutte à goutte, celle qui produit des paquets de 4 décimales exactes et qui n'utilise qu'une place dans la mémoire tampon, cet algorithme ne donnera jamais plus de 54 932 décimales exactes. Et cela n'est réalisable qu'en retirant au moins une de ces conditions de limitation; la plus facile à retirer est la première.
4
Algorithme du goutte à goutte pour e
L'algorithme du goutte à goutte n'est bien entendu pas limité au calcul de 7r.
Soit e le nombre transcendant e = 2.7182 ... Son développement en série, analogue à celui de 7r défini ci-dessus (6.1) est défini par
(6.5)
e
111
= 1 + -(1 + -(1 + -(1 + ... ))) 1
2
3
Algorithme du goutte à goutte pour e
87
Ici, comme dans la série définissant 7r, on utilise des bases différentes, mais cette fois tous les numérateurs des fractions intervenant sont égaux à 1. Cela signifie qu'aucune multiplication n'est nécessaire pour le calcul de la retenue. Mais plus important encore est le fait que la série (6.5) définissant e est unique, si bien que la complication qui existe avec 7r n'existe pas ici. Un programme de goutte à goutte pour les décimales de e est donc bien plus simple. Voici un programme long de 138 caractères pour le calcul de 15 000 décimales de e, programme écrit dans l'esprit du mini-programme de 7r, du chapitre 3 : /* note: N=15000, LEN=87700 >= 1.4*N*log10(N), 84700=LEN-N/5 */ a[87700],b,c=87700,d,e=le4,f=le5,h; mainO {fore ;b=c--, b>84700 ;h=printf ("%05d" ,e+d/f) ,e=d%=f) for(;--b;d+=f*(h?a[b] :e),a[b]=d%b,d/=b);}
Nous avions alors promis de donner l'explication du fonctionnement du programme de Lievaart : en fait, lui aussi, repose sur l'algorithme du goutte à goutte pour e.
7 Gauss et
7r
Une des méthodes les plus rapides pour calculer 7r, peut-être même la plus rapide, est vieille d'environ 200 ans. Elle fut découverte aux alentours de 1800 par le «prince des mathématiciens» Carl Friedrich Gauss (1777-1855). Elle fut ensuite oubliée, avant d'être exhumée 170 ans plus tard par deux chercheurs, Eugene Salamin [100J et Richard Brent [37] qui la redécouvrirent
90
Gauss et
7r
indépendamment et simultanément, pour en faire la base des calculs superrapides de 7r. La méthode de calcul de Gauss a depuis servi de point de départ à bien d'autres méthodes de calcul, comme le montre la variété de noms sous lesquels on l'invoque dans la littérature mathématique: c'est ainsi qu'on parle entre autres de la méthode itérative de Brent et Salamin, ou de la méthode de Gauss-Legendre. Dans ce livre, nous parlerons de la méthode de la moyenne arithmético-géométrique de Gauss (MAG en abrégé), parce que cet algorithme porte indubitablement l'empreinte de Gauss, et que sa marque distinctive est de reposer sur la moyenne arithmético-géométrique.
1
La formule MAG pour
'if
La forme originale de cette formule de Gauss qui joua un rôle si important dans l'étude de 7r est donnée à la fin de ce chapitre. La voici, écrite sous forme moderne (Gauss, 1809, Salamin et Brent, 1976) :
(7.1)
L'élément essentiel de cette formule est la fonction MAG : (a, b) f------* MAG(a, b), qui donne la moyenne arithmético-géométrique de deux nombres, c'est-à-dire une combinaison des moyennes arithmétiques et géométriques. Les nombres Ck qui interviennent aussi dans la formule sont liés à cette fonction MAG. Dans la vie courante, nous rencontrons souvent différentes moyennes. La moyenne arithmétique (a + b) /2 de deux nombres a et b est un outil courant qui est employé, par exemple, pour établir les moyennes des étudiants après des épreuves. La moyenne géométrique y'(ib de deux nombres a et b permet de calculer la moyenne de deux quantités ou plus, lorsque celles-ci sont reliées par des multiplications, par exemple deux taux d'intérêts. Dans les deux cas, le mot «moyenne» désigne un nombre situé « entre» les deux valeurs initiales. MAG (a, b) représente aussi une moyenne des deux nombres a et b. Cependant, cette moyenne ne peut pas être calculée d'un seul coup; on l'obtient au terme d'une procédure itérative, qui nécessite un nombre infini d'étapes, produisant chacune un nombre de plus en plus près du résultat final. Nous appellerons algorithme MAG cette procédure itérative, la fonction MAG étant
La formule MAG pour
91
7r
la fonction qui à deux nombres a et b associe la limite des suites construites avec l'algorithme MAG.
Algorithme MAG Ini tialisation
ao:= a bo := b
Itération (k
= 0, 1,2 ... )
ak+l :=
ak
+ bk 2
bk+1 := Vakbk
--7
--7
MAG(a, b)
MAG(a, b)
Les deux suites (ak) et (b k ) convergent vers une limite commune, MAG(a,b). On voit que ak+l s'obtient en prenant la moyenne arithmétique des deux termes précédents ak et bk , tandis que bk+l s'obtient en prenant leur moyenne géométrique. C'est à 14 ans que Gauss s'intéressa pour la première fois à la moyenne arithmético-géométrique; il obtint confirmation de son comportement en calculant à la main les premiers termes de la suite, pour différentes valeurs initiales. On a gardé la trace de quatre exemples, dont les valeurs initiales sont a = V2 et b = l. Voici les quatre premiers termes de la suite associée à ces valeurs initiales [56, III, p. 364]1
Moyenne arithmétique
Moyenne géométrique
= 1.414213562373095048802 al = l.207106781186547524401 a2 = 1.198156948094634295559 a3 = 1.198140234793877209083 a4 = 1.198140234735592207441
b = 1.000000000000000000000
0
bl
0
a
= 1.189207115002721066717 b2 = 1.198123521493120122607 b3 = 1.198140234677307205798 b4 = 1.198140234735592207439
Chiffres corrects
4 9 19
1 Cette suite de colonnes montre que Gauss, aussi génial fut-il, ne rechignait pas à « retrousser ses manches» pour se lancer dans des caluls longs et laborieux. Jusqu'à aujourd'hui, les mathématiciens l'admirent aussi pour cela.
92
Gauss et
1r
Au cours du processus itératif, les nombres ak et bk se rapprochent de plus en plus, les ak en décroissant, les bk en croissant (Si, au départ, on avait pris une valeur de a inférieure à b, les deux suites se seraient d'abord croisées avant de converger l'une vers l'autre avec la monotonie indiquée). La valeur vers laquelle les deux suites convergent, i.e. leur limite, est appelée la moyenne arithmético-géométrique de a et b; on la note MAG (a, b). Dans le cas de a = V2 et de b = 1, la valeur de la limite est clairement 1,19814 ... La moyenne arithmético-géométrique de deux nombres est toujours comprise entre leur moyenne arithmétique et leur moyenne géométrique.
t
moyenne arithmétique 1 x moyenne arithmético-géométrique MAG(l, x) moyenne géométrique vix 1
1 10 x La principale leçon que l'on peut tirer de l'exemple numérique de Gauss est la convergence rapide des deux suites (ak) et (b k ). La dernière colonne indique le nombre de décimales communes aux deux termes. Après seulement 4 itérations, on obtient une approximation de MAG( V2, 1) ayant 19 décimales exactes. À chaque itération, le nombre de décimales exactes double pratiquement. Cette propriété traduit ce que l'on appelle la convergence quadratique de l'algorithme. C'est une très bonne vitesse de convergence, qui explique l'intérêt que les mathématiciens portent à cette méthode. Dans la formule (7.1) sur 1r, la vitesse à laquelle 1r est calculé est déterminée par la vitesse à laquelle la fonction :tvlAG (au numérateur) est elle-même calculée; si ce dernier calcul est effectué avec une convergence quadratique, cette dernière est léguée au calcul de 1r.
Le dénominateur de la formule (7.1) contient des termes q. Ils sont obtenus par la mise en IJuvre de l'algorithme MAG, à partir des coefficients ak et bk calculés lors des étapes successives : le coefficient Ck+1 est défini comme la demi-différence de ak et bk . Autrement dit,
(7.3)
L'algorithme MAG de Gauss
93
c'est-à-dire, compte tenu de l'expression de ak+l et bk+1 en fonction de ak et bk,
(7.4) Comme les suites (an) et (b n ) ont même limite, il est clair que la suite (c n ) tend vers O. Voici quelques propriétés fondamentales de la fonction MAG. Soit ao et bo deux réels vérifiant < bo ~ ao. Alors, la suite (Ck) définie pour tout kEN k ,. fi l ' l " t ' · par Ck+l = ak -2 b ' ven e es ega 1 es sUlvantes [32 ,p. 1-4] :
°
ak = ak+l + Ck+l bk = ak+l - Ck+l
MAG(a, b) = lim ak = lim bk k---++oo
k---++oo
MAG(Àa, Àb) = ÀMAG(a, b) MAG(a,b) = MAG (a; b, MAG(l, b)
=
Va"b)
1 + bMAG(l, 2Vb)
2 l+b bk ~ bk+1 ~ ak+l ~ ak MAG(ak, bk ) = MAG(ak+l' bk+l) = MAG(a, b) Si ao = 1 et si ~e(bo) > 0, l'algorithme MAG est bien défini. Les suites (ak) et (b k ) construites grâce à l'algorithme MAG sont définies pour tout k, et elles convergent à vitesse quadratique. L'algorithme MAG peut s'étendre aux entiers négatifs, en posant a-k = 2ka k, b-k = 2kck, et Ck = 2kbk, où ak, bk, et Ck, sont les suites construites grâce à l'algorithme MAG en l'initialisant avec ak = ao, bk = Co et Ck = bo, donc en permutant bo et Co.
2
l'algorithme MAG de Gauss
C'est en partant de ses travaux sur la moyenne arithmético-géométrique, et d'autres résultats que nous allons aborder, que Gauss arriva à cette formule
94
Gauss et
7r
d'approximation de 7r qui est si importante aujourd'hui (7.1). On peut en déduire directement un algorithme de calcul approché de 7r.
L'algorithme MAG de Gauss Initialisation ao:= 1 bo := 1/V2 So := 1/2
Itération (k = 0, 1,2 ... , K - 1)
ak+l := bk+l :=
ak
+ bk 2
v'tbk
C~+l := (ak+1 - t)2
._ Sk - 2k+l C2 + Sk+l .k 1
Retourner une approximation de 7rK
=
(aK
7r
donnée par
+ bK)2 2SK
L'algorithme commence par l'initialisation de trois variables a, b et s. Au fil des itérations successives, les variables a et b évoluent en accord avec les règles de l'algorithme MAG vers l'approximation de MAG(l, 1/ V2) qui figure au dénominateur de (7.1). Pendant ce temps, la somme s du dénominateur est calculée grâce à la variable auxiliaire c~+1 = (ak+1 - ak)2. L'utilisation d'une variable auxiliaire t = ak est rendue nécessaire par le fait que la valeur ak soit utilisée encore deux fois après avoir été déjà remplacée par ak+1. L'itération se poursuit jusqu'à ce que les résultats aient atteints un seuil de précision prédéfini, ou bien jusqu'à ce qu'un nombre prédéfini d'itérations aient été exécutées. Au terme de la procédure, l'approximation de 7r est obtenue en effectuant un unique calcul hors de la boucle. Au lieu de la valeur
+ bK)2 qui est employée. C'est la 2s K meilleure approximation que l'on puisse obtenir en K itérations. (inaccessible) MAG(l,l/V2), c'est (aK
Ainsi ces quelques lignes définissent-elles l'un des meilleurs algorithmes de calcul de 7r. Avec seulement trois itérations, on obtient déjà 19 décimales exactes:
La variante de Schéinhage
95
Itération
PK
Nombre de décimales correctes
1
3.14 ...
3
2
3.1415926 ...
8
3
3.141592653589793238 ...
19
4
idem
41
5
idem
84
6
idem
171
7
idem
345
8
idem
694
9
idem
1 392
Chaque itération supplémentaire fournit deux fois plus de décimales que l'itération précédente. Toutes les 10 itérations multiplie par 100 le nombre de décimales exactes, et il suffit de 36 itérations pour calculer les premières 206,1 milliards de décimales. L'erreur absolue est [32, p.48] :
La deuxième expression montre clairement la décroissance quadratique de l'erreur, et l'on en déduit également que PK est toujours plus petit que 1f.
3
La variante de Schonhage
Les performances de l'algorithme MAG de Gauss dépendent fortement des calculs effectués avec des entiers longs, c'est-à-dire ayant un très grand nombre de décimales. En effet, il faut effectuer le produit akbk, le calcul de la racine carrée de ce terme, et calculer le carré (ak+l - ak)2. (En revanche, les additions longues et les multiplications par des puissances de 2 ont moins de conséquences sur les performances; en effet, ces multiplications sont effectuées avec de simples décalages lorsque les nombres sont écrits en base deux.) Toute amélioration des performances est bien sûr hautement désirable. La version suivante, conçue par Arnold Schonhage [105, p. 266], accélère considérablement l'algorithme de Gauss. Cette variation évite la multiplication de nombres longs akbk (une «multiplication longue» ) qui doit être exécutée à chaque étape.
96
Gauss et
1f
La variante de Schonage de l'algorithme MAG de Gauss Initialisation
ao:= 1 Ao:= 1 Bo:= 0.5 So := 0.5
Itération (k
= 0,1,2 ... , K -
t:=
bk
1)
Ak+Bk
4
= \l'BK
ak+l :=
+ bk
ak
2
.- a 2k+l A k+l·BHl := 2(Ak+l - t) Sk+l := Sk
+ 2k+l(BHl -
A k+1)
Retourner une approximation de
PK:=
(A K
1f
donnée par
+ B K )2 SK
Schonhage se passe de la multiplication longue akbk en remplaçant ce produit par des opérations plus rapides effectuées avec d'autres variables: akbk = 2( a - k + Z2 - ~ (ak + bk)). (Les carrés de a et b sont stockés dans les variables A et B.) Les performances s'en trouvent améliorées d'environ 25%. C'est le fruit d'un simple réarrangement des opérations, sans astuce particulière de mise en œuvre. De cette façon, Schonhage évite également d'une part un calcul long de racine carrée au cours de l'initialisation et d'autre part une longue opération de quadrature durant le calcul de l'approximation de 1f. Si l'on tire parti du fait que bk et Bk peuvent partager le même emplacement de mémoire, alors la variante de Schonhage, tout comme la forme originale, ne demande que 5 variables longues, à savoir a, A, b = B, t et s. Le gain de vitesse n'est pas limité par une occupation supplémentaire de mémoire. Il est très facile de convertir en programme l'algorithme MAG de Gauss en utilisant la variante de Schonhage : a ::; A
1
B ::; s
0.5
La variante de Schënhage
For k
=
1 to N
t
(A+B)/4
b
sqrt(B)
a
=
97
(a+b)/2
A
a*a
B
(A-t)*2
End For Pour le calcul des premières décimales de 7f, il est facile d'implanter ce programme dans tout langage de programmation disposant des opérations arithmétiques effectuées en virgule flottante, ou mieux encore, dans tout logiciel de calcul algébrique. La mise en IJuvre en vue d'établir un nouveau record du monde pose d'importants problèmes d'implantation.
Le problème d'un stockage massif. Dès le début des calculs, les variables longues a, A, b = B, s et t doivent être évaluées et manipulées avec une longueur compatible avec le résultat final; mais quand veut obtenir plusieurs centaines de milliards de chiffres de 7f, la mémoire vive des ordinateurs, même des plus gros, n'est pas suffisante; c'est pourquoi les variables doivent être stockées hors de la mémoire vive, et y être introduites bloc par bloc. Pour faire cela rapidement, il faut effectuer un gros travail de gestion de mémoire propre au processeur utilisé. L'arithmétique de haute précision. Les instructions standard implantées dans les ordinateurs permettent d'effectuer des calculs avec une précision limitée, et beaucoup d'ordinateurs permettent seulement de manipuler des variables s'écrivant avec au plus 16 décimales. Aussi les opérations longues telles que l'addition ou la modification de variables longues doivent-elles être décomposées en opérations « courtes». La procédure est théoriquement complexe et sa mise en œuvre pratique est cruciale pour les performances. Pour cette raison « l'arithmétique de haute précision» nécessaire est généralement la partie la plus difficile de l'écriture d'un programme de calcul des décimales de 7f. C'est même d'habitude la motivation principale pour le développement d'un tel programme. Il existe cependant de grandes bibliothèques de programmes de calculs en grande précision que l'on peut acquérir. Il est alors possible d'en extraire des fonctions que l'on peut incorporer dans le programme de calcul de 7f, ce qui permet de se dispenser d'effectuer ce travail fondamental de programmation (y compris celui lié à la gestion de mémoire mentionnée ci-dessus).
98
4
Gauss et
'if
Histoire d'une formule
La Moyenne Arithmético-Géométrique Sous une allure inoffensive, la formule de Gauss pour 'if (7.1) dissimule des aspects très intéressants : elle est remarquable non seulement pour son efficacité dans le calcul de 'if, mais aussi pour son histoire et pour les propriétés mathématiques sur lesquelles elle repose. La moyenne arithmético-géométrique (MAG) et sa règle de calcul sont moins vieilles qu'on ne pourrait le supposer du fait de leur simplicité. Les deux furent découvertes il y a environ 200 ans. Aussi surprenant que ce soit, la règle de calcul de la fonction MAG est en réalité antérieure à la découverte de cette fonction [46J. Le mathématicien français Joseph-Louis Lagrange (17361813) fut en 1785 le premier à se servir de cette règle, pour le calcul approché d'intégrales elliptiques. Il ne découvrit néanmoins ni la fonction MAG, ni ses liens avec les intégrales elliptiques. Ce fut Gauss qui les découvrit. Ainsi que l'écrivit David Cox, « ... nous avons affaire à une situation surprenante, où Lagrange fut un précurseur de Gauss, alors que ce dernier fut lui-même un précurseur d'Abel, de Jacobi et de bien d'autres ». [45, p.315J. Ce fut en 1791, alors qu'il n'avait que 14 ans, que Gauss découvrit la fonction MAG. Sa découverte exerça sur lui une telle fascination que durant les dix années qui suivirent, il travailla presque sans interruption au développement d'une théorie des moyennes arithmético-géométriques. Son travail atteint une profondeur qui depuis n'a pas été égalée [57, p.186J. Ce n'est que lorsqu'il eut atteint 22 ou 23 ans que Gauss écrivit un mémoire en latin dans lequel il décrivait ses découvertes sur la moyenne arithmético-géométrique : de origine proprietatibusque generalibus numerorum arithmético-geometricorum (Sur l'origine et les caractéristiques générales des moyennes arithmético-géométriques) [56, III, pp.361-374J. Le mémoire ne fut jamais publié comme tel, et ce ne fut qu'en 1866 qu'il fut imprimé dans un recueil de travaux. De son vivant, Gauss ne publia qu'un article mentionnant ces moyennes; ce fut en 1818 dans son traité Determinatio attractionis (Sur l'attraction de l'anneau elliptique) [56, III, p. 352-353], qui contient la troisième preuve de l'identité fondamentale (7.13). On trouve des informations supplémentaires dans ses écrits formels. On sait très peu de choses sur les recherches que, durant son adolescence, Gauss mena sur les moyennes arithmético-géométriques. Il semble cependant qu'il disposa très rapidement des résultats mentionnés ci-dessus; ses recherches sur la lemniscate lui montrèrent certainement l'importance du cas particulier (y2, 1). Il y a aussi des indications montrant qu'il connaissait déjà en 1794 le lien entre la fonction MAG et le calcul de ce qu'il appelait les « intégrales numériques», que l'on appelle maintenant les fonctions theta.
99
Histoire d'une formule
Il Y eut deux phases dans les recherches de Gauss sur la fonction MAG, et le 13 mai 1799 marque le début de la seconde phase. Ce fut ce jour-là que Gauss, âgé de 22 ans, réussit à établir un lien entre MAG et un domaine qu'il avait jusqu'alors étudié indépendamment.
La lemniscate Outre la fonction MAG, le deuxième ingrédient rentrant dans la formule de Gauss (7.1) est la fonction appelée lemniscate. Cette fonction tire son nom de la lemniscate, une courbe que Gauss avait déjà étudiée en détail alors qu'il était adolescent. La lemniscate tire son nom du mot grec )..T//-Lw/w(J" (lemniskos), signifiant « petit ruban». Elle ressemble à un huit couché.
Écrite en coordonnées polaires, une de ses équations est r 2
= a 2 cos 2B.
Quand Gauss s'intéressa à la lemniscate, cette courbe était connue depuis presque 100 ans. En 1694, deux des frères Bernoulli l'avaient découverte indépendamment : Jacques Bernoulli (1654-1705) et son cadet Jean (1667-1748). L'article de Jacob parut en septembre 1694 et celui de Jean un mois plus tard seulement. À la suite de ces publications, les frères eurent une violente dispute pour savoir auquel des deux revenait la paternité de la découverte [45, p. 311]. La querelle alla si loin que Jean jura qu'il ne retournerait jamais à Bâle tant que son frère y vivrait.
av
Jacques Bernoulli avait découvert la lemniscate en partant de la courbe dite « élastique», dont une équation cartésienne est x 2+y2 = (x 2 - y2). Cette courbe élastique est celle que l'on obtient lorsqu'on plie une baguette de telle sorte que les tangentes en ses extrémités soient perpendiculaires à la droite reliant ces extrémités.
0+------------+
~-"-,B
100
Gauss et
7r
Une équation de la courbe élastique est
La formule donnant la longueur de la courbe élastique eut historiquement plus d'importance que l'équation de cette courbe. Cette longueur est donnée par
(7.10)
LV
=2
1 1
o
dt
~ vI - t 4
= 2.622 057 554 2 ...
Jacques Bernoulli trouva une formule donnant cette longueur dès 1691. Il lui fallut ensuite trois années pour trouver une courbe d'équation plus simple ayant la même longueur. C'était la lemniscate, qu'il trouva en 1694; la longueur d'une de ses deux boucles est donnée par l'intégrale ci-dessus. Ainsi peut-on dire que la longueur d'un arc de la lemniscate fut découverte avant la lemniscate elle-même [45, p. 311]. Au XVIIIe siècle, bien avant Gauss, la courbe élastique et la lemniscate étaient mentionnées dans beaucoup de traités de mathématiques. Par exemple, en 1730 James Stirling (1692-1770) donna des valeurs approchées très précises des intégrales (7.9) sur [0, 1] et de (7.10); ses résultats donnaient les 17 premières décimales. Giovanni Fagnano (1715-1797) découvrit certaines méthodes pour partager un arc de lemniscate en n parties égales, lorsque n est un entier de la forme 2m , 3· 2m ou 5· 2m [45, p. 313]. À partir de 1748, Leonhard Euler (1707-1783) développa la théorie des intégrales elliptiques, en commençant avec la lemniscate. En particulier, Euler découvrit ce lien remarquable entre les deux intégrales précédentes:
7r
(7.11)
4
Gauss commença à travailler sur la lemniscate en janvier 1797 (à l'âge de 19 ans), ainsi que l'indique la fiche nO 51 de son agenda mathématique: [55, p.67] : Curvam lemniscatam a V:~x4 pendentem perscrutari coepi » (J'ai commencé mes recherches sur la lemniscate, qui est une courbe fonction de ... ). Dans la première version de ses notes, Gauss avait écrit le mot elasticam, mais il le barra plus tard pour le remplacer par lemniscatam. Plus tard, il employa également le symbole LV, comme dans (7.10).
J
Gauss recommença ses recherches en s'attaquant au problème du partage d'une lemniscate en parties égales, que nous avons mentionné plus haut à
Histoire d'une formule
101
propos de Fagnano. Cela le conduisit aux «fonctions de la lemniscate» sinlemn et coslemn ainsi définies : sinlemn
(rx Jo ~) = x, 1 - t4
coslemn ( -w 2
lX 0
2
t dt
~ v1-t 4
) = x
Il définit ces fonctions dans le cadre des nombres complexes et établit diverses propriétés de ces fonctions. Un an après avoir découvert la construction à la règle et au compas d'un polygone régulier à 17 côtés, il trouva une construction à la règle et au compas d'un partage d'une lemniscate en 5 parties de même longueur. Ainsi que l'indiquent quatre fiches de son agenda, il fit au cours des trois premiers mois de 1797 un grand nombre de découvertes dans ce domaine (n.54, 59, 60, 62). Gauss fut particulièrement encouragé lorsqu'il remarqua l'analogie entre les fonctions de la lemniscate et les fonctions du cercle, par exemple (7.12)
W
[1
dt
"2 = Jo v'f=t4
et
L'analogie était encore plus visible car au lieu du symbole w, on utilisait à l'époque plutôt II. En 1798, Gauss commença à étudier le nombre -!' et cela fut à l'origine de nouvelles découvertes. Entre autres choses il trouva un développement en série de l'inverse de ce nombre, ce qui lui permit d'en calculer les 15 premières décimales. On peut dire qu'en juillet 1798 Gauss connaissait déjà « tout» du quotient 7r /w [45, p. 319]. Sur la fiche nO 92 de son agenda, on peut lire « Nous avons découvert des propriétés très fines de la lemniscate, qui ont dépassé toutes nos attentes, et les méthodes utilisées ouvrent un domaine entièrement nouveau». Il sentait qu'il avait fait une découverte importante et dans la fiche n° 95 (en octobre 1798) il écrivit même: «Une nouvelle branche de l'analyse s'ouvre à nous, à travers notamment l'étude des fonctions, etc. » Gauss était si excité qu'il laissa sa phrase inachevée.
La fusion des deux domaines Vint alors le 30 mai 1799. Gauss nota ce jour-là: «Nous avons vérifié jusqu'à la onzième décimale que la moyenne arithmético-géométrique de V2 et de 1 est égale à 7r /w; si c'est prouvé, ce sera véritablement une nouvelle branche de l'analyse qui s'ouvrira à nous ». [56, X.2, p. 43] Sous forme de formule, cette découverte, qui aujourd'hui encore paraît sensationnelle, s'écrit ainsi: (7.13)
~ = MAG(V2, 1)(= 1.19814 ... ) w
102
Gauss et
7r
Grâce à cette formule, Gauss établit un lien entre deux domaines apparemment indépendants, les moyennes arithmético-géométriques et les fonctions de la lemniscate, deux thèmes étroitement liés aux fonctions elliptiques. Au moment de la découverte, il était aussi conscient de sa signification, ainsi que sa conclusion le suggère à travers l'expression (<< nouveau domaine d'analyse»). Au XIX e siècle, les travaux de Riemann, Jacobi et d'autres confirmèrent cette conclusion. Il est frappant de constater dans l'agenda de Gauss qu'il n'arriva pas à ses résultats par des déductions mathématiques mais par la simple comparaison de deux nombres. Normalement, les mathématiciens évitent d'inférer une loi simplement à partir d'une coïncidence numérique. Mais ici, ce fut différent. Gauss semble avoir soupçonné que cette coïncidence ne relevait pas d'un hasard. Ce ne fut pas la seule fois qu'un résultat numérique conduisit Gauss à inférer des propriétés mathématiques, mais ce fut sans aucun doute le cas le plus important. La rédaction de son agenda révèle aussi que Gauss n'avait pas encore de preuve, et il en développa une ultérieurement. On ignore quand exactement, mais il est certain que le 23 décembre 1799 il avait découvert deux preuves; en 1818, il en publia même une troisième. Les deux premières démonstrations reposent sur la comparaison des développements en série des deux membres de (7.13). La troisième preuve est la plus courte et la plus élégante [56, III, pp.352, 353]. Gauss considéra l'intégrale elliptique de première espèce, l (a, b)
=
r /2 --;::==d=()===== 2 2
Jo
yia2 cos
()
+ b2 sin
()
La longueur de la lemniscate en est un cas particulier, 'CV = 2I( V2, 1). Il montra alors que la valeur de cette intégrale reste constante lorsque (a, b) décrit l'ensemble des couples (an, bn ) obtenus en itérant l'algorithme MAG. Quand an et bn tendent vers leur limite commune, MAG (a, b), on obtient I(a,b) = 7rj(2MAG(a,b)), ce qui prouve la relation (7.13). Il ne manque plus grand chose pour établir la formule (7.1). Exposée en langage mathématique actuel, voici les étapes d'une solution suggérée par Nick Lord [81], et qui était déjà accessible du temps de Gauss. Les éléments manquants de la démonstration étaient tout d'abord l'intégrale L(a, b) 7r cos2 ()d() ---;:::=========, qui est telle que L(a, b) + L(b, a) = I(a, b). o yi a 2 cos 2 () + b2 sin 2 ()
1
Il manquait également la relation découverte par Leonhard Euler(7.11)
L( V2, 1) x I( V2, 1) = ~. Il manquait enfin les égalités côL(a, b) = (cô -
103
Histoire d'une formule
S)I(a, b) avec S =
00
L 2k-lc~, qui se déduisent de c5L(b, a) -
2cI L(b 1 , aI)
=
k=O
c5I(a,b)/2. Si le couple (V2,1) est remplacé par le couple (1,1/V2), on obtient une version plus élégante du résultat. Une fois ces éléments trouvés, on obtient la formule (7.1) et l'algorithme MAG de Gauss.
La version originale Il nous a fallu beaucoup de temps pour retrouver la formule originale de Gauss qui sert de point de départ à l'algorithme MAG. Elle apparaît à la page 6 de cahier n° 6, intitulé Notes sur divers domaines des mathématiques, cahier commencé en mai 1809. Ce petit ouvrage était en la possession du Niedersachsische Staatsund Universitatsbibliothek Gottingen (Bibliothèque de l'université de Basse-Saxe à Gottingen) (rangé sous l'étiquette Cod. Ms. C. Fr. Gauss, Handbuch 6). Quand nous avons demandé à voir le document, il était en piteux état, de sorte qu'il a d'abord fallu le faire restaurer par le service des manuscrits et documents rares, avant de pouvoir imprimer la formule (avec leur bénédiction) pour la première fois depuis que Gauss l'eut écrite;
("1 ~~f" -== J
. .:
8)
3~1OJ.f.1
REPRODUCTION DU MANUSCRIT ORIGINAL DE GAUSS
Gauss et
104
7r
La formule de la dernière ligne,
(7.14)
+
} e' e' + 2 e" e" + 4 e'" e'" + etc. C' C' + 2 Cil Cil + 4 C'" C III + etc.
= ~aa _ 2mM 2
7r
est ce que nous cherchions! Elle est même un peu plus générale que (7.1). Il suffit de prendre a = A = 1 et b = B = 1/V2, et l'on obtient m = M et e2 = C 2 = a 2 - b2 = 1/2. Si au lieu de prendre M et m, on prend MAG(l/V2), et si l'on remplace les primes par des indices, par exemple si l'on remplace elll par e3, la formule de Gauss s'écrit (7.15)
et l'on en déduit aussitôt (7.1).
Comment se pourrait-il... Plusieurs historiens ont cru voir l'empreinte de Gauss dans la formule (7.1). En particulier, dans son article Computation of 7r using ArithmetieGeometrie Mean [100] de 1976, Salamin lui-même fit référence à la racine et ajouta: «Il est assez surprenant qu'une formule de calcul de 7r aussi facile à établir soit apparemment passée inaperçue pendant 155 ans. L'auteur fit sa découverte en décembre 1973 ». Comment se peut-il que la formule de Gauss et avec elle l'algorithme MAG de Gauss aient disparu sans laisser de trace, ne laissant ainsi pour les calculs de 7r que les formules en arc tangente, beaucoup plus faibles que la formule de Gauss? Eugène Salamin avança cette explication [101] :
« Je conviens que l'algorithme MAG aurait pu être découvert il y a 150 ans. Les deux points-clés sont la formule MAG de Gauss pour calculer les intégrales elliptiques, et la formule de Legendre reliant entre elles ces différentes intégrales elliptiques. Si l'on arrive à établir précisément quand ces formules furent publiées pour la première fois, on saura alors depuis combien de temps on aurait pu découvrir cette méthode de calcul de 7r. Il convient néanmoins de préciser qu'avec ses multiplications, ses divisions et ses extractions de racines carrées de grands nombres, la méthode MAG n'était pas très pratique à mettre en IJuvre du temps de Gauss et de Legendre. C'est seulement lorsque des techniques de multiplication substantiellement plus rapides que les méthodes en N 2 (voir Knuth, vol. 2 [77]) furent mises au point que l'algorithme MAG pour le calcul de 7r devint une formule vraiment « utilisable».
Histoire d'une formule
105
Maintenant, l'eau a coulé sous les ponts. En 1976 le nombre de chiffres connus de 7r tournait autour de un million, ce record ayant été établi en 1973 grâce à la série en arc tangente. Avec Brent et Salamin, ce record fut très largement dépassé : en seulement trois ans, des ordinateurs obtinrent 30 millions de décimales, (voir chapitre 13), grâce à des programmes qui utilisaient tous l'algorithme MAG de Gauss.
8 Ramanujan et
'~"»*- ~ ]", . '-Jl,.~r\
,ci'---\
r*.. /"""-
......... r" . .~ t-.. .}~ ."'\ -;s~ l''fi,,_-~ r~_JP<'-
?''''-_ r''''. . . /''''''''''
7r
-1"'\ f
L'histoire de Srinivasa Ramanujan, le plus grand mathématicien indien de l'ère moderne, pourrait illustrer un manuel de sociologie sur la fabrication de génies. Une jeunesse pauvre, une instruction inadéquate, une incompréhension de son entourage, tout cela le conduisit à adopter une ligne indépendante. Soudain quelqu'un remarqua le caractère brillant de ce jeune, apprécia
108
Ramanujan et 7r
sa pensée visionnaire et le prit sous son aile, l'encouragea et obtint de lui en quelques années un incroyable torrent de découvertes. Cette période créative fut suivie par la maladie, le mal du pays et une mort précoce. Dans la période qui suivit, l'essentiel de son travail fut perdu sans laisser de trace; seuls quelques privilégiés en gardèrent la mémoire. Soixante ans plus tard, ce fut la résurrection. Quelques personnes commencèrent à s'intéresser à ses travaux,firent des recherches sur sa vie et ses origines. Soudain, l'intérêt grandit et l'Inde d'une part, la communauté mathématique d'autre part, s'embrasèrent; la jubilation culmina en 1987 avec les cérémonies et les conférences organisées à l'occasion du centenaire de la naissance de Ramanujan. La réussite extraordinaire de Ramanujan fut d'explorer de nouveaux domaines mathématiques, alors qu'il n'avait pratiquement pas eu de formation en mathématiques. Ce faisant, il a stimulé la créativité et l'imagination des meilleurs mathématiciens, et leur a inspiré certaines de leurs propres découvertes.
1
Les séries de Ramanujan
Nombre de découvertes de Ramanujan sont reliées au nombre 7r et à son calcul. En 1914, à l'âge de 27 ans, Ramanujan publia un article intitulé « Équations modulaires et approximations de 7r» [96J. Cet article contient environ 30 formules pour 7r, y compris celle-ci [96, formule (44)J : 1 (8.1) 27rV2
=
1103 992
27493
+~
x
1
1.3
"2 x 42 +
53883 9910
X
1.3 2.4
X
1.3.5.7 42.82
+ ...
Ramanujan lui-même expliqua que cette série converge extrêmement rapidementI. En fait, chaque nouveau terme de la somme ajoute environ 8 décimales correctes, ainsi qu'on peut le vérifier sur les trois premiers termes: 0.1125 ... 10°,
0.273 ... 10- 8 ,
0.229 ... 10- 16
Avec (8.1), Ramanujan a trouvé une série pour 7r qui était bien meilleure que les formules précédentes, par exemple la formule de l'arc tangente de John Machin, pour laquelle chaque nouveau terme fait gagner en moyenne 1.4 décimale. Cette nouvelle série de Ramanujan fut la première qui rende possible le calcul de plus d'un million de décimales de 7r; de fait en 1985, Gosper l'a utilisée pour calculer 17 millions de décimales de 7r. On pourrait se demander si la grande vitesse de convergence de la série (8.1) 1
n'est pas fortement réduite d'une part parce qu'elle converge vers - et non 7r IOn présente généralement cette formule sous une forme légèrement plus compacte.
109
Les séries de Ramanujan
vers 7r, d'autre part parce qu'elle demande le calcul d'une racine carrée. En fait ce n'est pas le cas. D'abord parce que ce calcul d'inverse et l'extraction de racine ne sont effectués qu'une seule fois, ensuite parce qu'on dispose d'algorithmes très rapides pour effectuer ces deux opérations: la méthode de Newton, connue depuis plus de 400 ans, permet d'effectuer ces opérations avec une vitesse quadratique. Les deux opérations terminales peuvent ainsi être exécutées dans un temps semblable à celui de quelques multiplications de nombres longs, ce qui n'augmente que de façon négligeable le temps de calcul global. Il est frappant de constater que Ramanujan a trouvé la formule (8.1) en 1914, mais que celle-ci ne fut utilisée qu'en 1985. Les 70 années séparant ces deux événements ne constituèrent pas une période de gestation; l'événement significatif qui survint durant cette période fut l'invention de l'ordinateur. Sans lui, c'est-à-dire avec seulement un crayon et du papier, il n'est pas raisonnable de chercher à calculer beaucoup de termes d'une série comme celle de Ramanujan. Comme d'autres, ce fruit du génie inventif de Ramanujan dut donc être mis de côté jusqu'à ce que les outils requis pour l'exploiter eussent été inventés. Ramanujan ne fournit que des informations éparses sur sa série (8.1) et ne donna pas de démonstration. Cependant, le titre de l'article indique clairement que la formule est liée aux équations modulaires. Il est rare de découvrir un document sur les équations modulaires qui soit facilement compréhensible. Heureusement, les frères Borwein ont réussi une telle description, et leur document fait maintenant autorité. [33, p. 112B] : La série de Ramanujan (8.1) pour 7r repose sur une équation modulaire d'ordre 58 [11, p. 202]. Les historiens ne peuvent que spéculer pour imaginer comment Ramanujan y arriva. Lui-même avait seulement dit avoir développé des théories « correspondant» à la théorie ordinaire des fonctions e et des fonctions modulaires. Nous pouvons néanmoins être certains qu'il fallut à Ramanujan un grand nombre d'essais avant d'arriver à des équations modulaires abordables. Dans son article sur 7r, outre (8.1), Ramanujan dresse une liste de 16 autres séries convergeant vers ~ ; elles ne convergent pas aussi bien mais certaines sont assez remarquables pour d'autres raisons. Voici l'une de ces séries [96, Formel (29)] (8.2)
~=~ 7r
L
k=O
(2n) 42n + 5 n 3
212n+4
Cette série ne converge pas particulièrement vite, puisque chaque nouveau terme n'apporte en moyenne que 1.8 décimale supplémentaires. Mais il est
Ramanujan et
110
7r
possible avec cette sene de calculer la seconde moitié du développement binaire d'ordre n de ~ sans devoir calculer aussi la première moitié, parce que les dénominateurs croissent deux fois plus vite que les numérateurs. Ainsi Ramanujan avait-il découvert une sorte de précurseur de la série BBP découverte récemment (voir chapitre 10), qui permet le calcul direct d'un chiffre précis du développement binaire de 7r.
2
La vie extraordinaire de Ramanujan
À l'occasion du centenaire de sa naissance, en 1987, la courte vie de Srinivasa Ramanujan a été décrite de manière détaillée. La biographie la plus complète est celle de Robert Kanigel [71]. L'éditeur des cahiers de Ramanujan, Bruce Berndt, a aussi recueilli beaucoup de détails biographiques [21], [22], [23] . En particulier, il a réussi à interviewer la veuve de Ramanujan, S. Janaki Ramanujan, qui survécut plus de 60 ans à son époux.
Srinivasa Aiyangar Ramanujan naquit dans la maison familiale de sa mère le 22 décembre 1887 dans la ville d'Erode, au sud de l'Inde. Sa famille était très pauvre. Après sa naissance, sa mère retourna à Kumbakonam, où son mari travaillait dans une fabrique de vêtements. Kumbakonam est situé à environ 200 km au sud-ouest de Madras. Ramanujan montra très tôt un intérêt et une aptitude pour les mathématiques. À la différence de beaucoup de mathématiciens célèbres, il n'eut aucun mentor mais acquit tout seul ses connaissances en mathématiques. Jusqu'à l'âge de 25 ans, il est vraisemblable qu'il n'eut accès qu'à cinq livres de mathématiques. Le premier était le traité de trigonométrie de S. L. Loney, publié à Cambridge en 1893, sur lequel il travailla jusqu'à l'âge de 12 ans. Entre autres choses, le livre traite des logarithmes de variables complexes, du calcul de 7r et des séries de Gregory. Plus tard, Ramanujan explora lui aussi ces sujets. À l'âge de 15 ans, Ramanujan emprunta à la bibliothèque publique locale un livre de George S. Carr, Un synopsis des résultats élémentaires de mathématiques pures. Le livre de Carr fut réédité en 1970 sous un titre différent [40]. Ce « synopsis» était en fait un aide-mémoire destiné aux étudiants révisant leurs examens de fin d'études à l'université. Le livre énumère 6 165 théorèmes, mais sans preuves, ou alors avec seulement une brève indication. En tout cas, ce livre semble avoir éveillé le génie de Ramanujan. Quand Ramanujan commença à mettre ses découvertes mathématiques par écrit dans des cahiers en 1904, il est évident que Carr représentait le modèle qu'il suivait. À ce moment-là, il avait 16 ans, et était déjà complètement orienté vers les mathématiques qui étaient le seul sujet qui l'intéressât. Il échoua donc aux examens dans les autres matières, et fut recalé à l'examen d'entrée à
La vie extraordinaire de Ramanujan
111
l'université. Il fit d'autres tentatives, mais sans plus de succès. Comme le dit amèrement son maître Hardy, « Le centre universitaire de Kumbakonam rejeta le seul grand homme qu'ils eurent jamais» [63, p. 7J. En conséquence, de 17 à 23 ans, Ramanujan travailla dans l'isolement le plus complet. Il confiait les résultats de ses recherches à ses cahiers qu'il gardait pour lui. Il est bien regrettable qu'il n'ait obtenu aucune «rétroaction» mathématique à une période aussi importante de sa vie. En 1909 Ramanujan se maria. Sa femme, qui était alors âgée de neuf ans seulement, fut à même de fournir certains détails intéressants en 1984 (à cette date, elle était veuve depuis 64 ans) [22J. Elle affirma en particulier que Ramanujan était convaincu qu'il ne serait pas tombé malade en Angleterre si elle y était allée avec lui. La première publication mathématique de Ramanujan parut en 1911, et c'est seulement à partir de 1912 que son génie mathématique extraordinaire commença à être reconnu. Deux mathématiciens anglais, Sir Francis Spring et Sir Gilbert Walker, lui obtinrent une rémunération mensuelle. Après une longue recherche, Ramanujan obtint en 1912 un emploi dans une entreprise du port de Madras. Le propriétaire de l'entreprise et un responsable qui était lui-même mathématicien prirent un grand intérêt au travail de Ramanujan et ils l'encouragèrent à informer de ses découvertes certains mathématiciens anglais. Ses premières tentatives ne produisirent aucun résultat, mais en janvier 1913 il écrivit à Godfrey H. Hardy, spécialiste très connu de théorie des nombres qui enseignait au Trinit y College, à l'université de Cambridge. Hardy fut aussitôt convaincu et invita Ramanujan à Cambridge. Celui-ci dut affronter les objections de sa caste et de sa famille, car pour un Brahmane orthodoxe, le fait de traverser un océan l'exclurait de sa caste. En 1914, Ramanujan quitta les Indes et partit pour l'Angleterre. Une des collaborations les plus importantes de l'histoire de mathématiques commença alors. Pendant le temps qu'il passa à Cambridge, Ramanujan publia plusieurs articles, dont certains sont considérés comme fondamentaux. L'un d'eux est l'article publié en 1914 mentionné plus haut sur les équations modulaires et les approximations de 1f, d'où est extraite la série (8.1). Ce papier est le seul que Ramanujan écrivit sur 1f, bien que l'on trouve dans ses cahiers d'autres résultats relatifs à 1f. Il écrivit plusieurs articles conjointement avec Hardy. Comme le dirent plus tard les frères Borwein, « le mélange de l'expertise technique de Hardy et du rayonnement de Ramanujan produisirent une collaboration sans égale» [33, p.112AJ. En 1917, après trois années passées à Cambridge, Ramanujan fut victime d'une maladie non identifiée. On diagnostiqua une tuberculose mais peut être fut-il simplement victime de carences en vitamines dues à une nutrition insuffisante pendant la première guerre mondiale. Après deux années passées
Ramanujan et
112
7r
dans des maisons de convalescence et des sanatoriums, il revint dans son pays natal en 1919. À son retour, on lui offrit une chaire à l'université H hindoue de Benares. Ramanujan fut forcé de décliner l'offre en raison de son état de santé, mais il planifia d'accepter le poste dès que sa santé lui permettrait de l'occuper. Malheureusement, il ne se remit jamais de sa maladie et mourut à Kumbakonam le 26 avril 1920 à l'âge de 32 ans.
Ramanujan laissa 37 publications et une foule de problèmes qu'il avait publiés dans le Journal de la Société mathématique indienne. Il laissa également 5 cahiers et divers manuscrits et mémoires non publiés, ainsi que plus de 120 théorèmes dans ses lettres à Hardy. Voici une courte liste des sujets sur lesquels Ramanujan travailla [25, p. 644] : partitions, fonctions théta, mécanique statistique, algèbres de Lie, probabilités, formes modulaires, fonctions elliptiques, multiplication complexe, séries hypergéométriques, analyse asymptotique, intégrales béta. Il fit aussi certaines découvertes relativement élémentaires. Il y a une anecdote sur un taxi qui portait le numéro 1729. En 1918, c'est dans un tel taxi que Hardy rendit visite à Ramanujan qui était hospitalisé. En entrant, Hardy mentionna ce nombre, ce qui inspira un commentaire à Ramanujan : « 1729 est un nombre très intéressant: c'est le plus petit nombre qui peut s'écrire de deux manières différentes comme la somme de deux cubes ». Ramanujan se référait aux égalités 13 + 123 = 93 + 103 = 1729. Il est exact qu'aucun nombre plus petit que 1729 ne possède cette propriété. Ramanujan découvrit également des formules de décomposition de nombres en sommes de puissances d'autres nombres, ce qui lui permit par exemple d'établir l'identité
(8.3) L'habileté de Ramanujan à manier des fractions continues reste légendaire. Il établit de nombreuses formules, souvent sans preuve, ce qui aida Hardy à se convaincre du génie de Ramanujan. Ces formules sont souvent très belles, mais aussi très difficiles à démontrer [63, p. 8]. En voici deux:
(8.4)
J5+V5_V5+1 2
2
1 + - - - - ;47r --e-
1+ -----:e- 67r 1+--1 + ...
113
La vie extraordinaire de Ramanujan
(8.5)
v!5+ 1 2
1+
e- 27rV5 ---------=,------
e- 47rV5
1 + ------=
e- 67rV5 1+--1 + ...
Voici ce que Hardy dit de ces formules contenant des fractions continues [63, p. 91] : «Je n'avais jamais rien vu de tel auparavant. Un seul regard sur ces formules permettait de savoir qu'elles ne pouvaient avoir été découvertes que par un mathématicien de première grandeur. Elles devaient être vraies, parce que, autrement, personne n'aurait eu l'imagination pour les inventer».
Certains résultats de Ramanujan ont été perdus, bien que G. E. Andrews eût retrouvé en 1976 le fameux «cahier manquant». Il est possible que l'université de Madras ait perdu ces documents. Quoi qu'il en soit, Mme Ramanujan affirma plus tard que tout de suite après la mort de son époux, son ancien professeur était venu et avait réclamé tous ses documents pour les donner à l'université ; mais personne n'a réussi à les y retrouver. Le recueil des œuvres de Ramanujan fut publié sept ans après sa mort. En 1936, Hardy donna «douze conférences sur des sujets inspirés par la vie et l'œuvre de Ramanujan ». Elles furent publiées en 1940. Dans la préface, Hardy écrivit ceci sur son protégé [63, p. 6] : «La vraie tragédie de Ramanujan n'est pas sa mort précoce. Il est bien sûr toujours désastreux de voir un grand homme mourir jeune, mais à trente ans, un mathématicien est souvent vieux, et sa mort est moins catastrophique qu'il n'y paraît. Henrik Abel (1802-1829) mourut à vingt-six ans et, bien qu'il elÎt assurément encore beaucoup à apporter aux mathématiques, il n'aurait sans doute pas pu devenir un plus grand homme. La tragédie de Ramanujan n'est pas d'être mort jeune; c'est que durant cinq ans, entre 18 et 23 ans, son génie ait été fourvoyé, gâché, et dans une certaine mesure déformé». Ces dernières années, plusieurs auteurs, dont les frères Borwein. ont réussi à rendre l'œuvre de Ramanujan beaucoup plus facile à comprendre. On doit à Bruce Bernd d'avoir amorcé la publication des cahiers de Ramanujan avec des commentaires détaillés. Et surtout, Berndt a apporté les preuves manquantes (parfois la preuve du contraire) de formules que Ramanujan écrivit sans se préoccuper de les démontrer. Quatre des cinq cahiers ont déjà été publiés [24]. Pour ceux qui s'intéressent à Ir, les cahiers 3 et 4 sont les plus passionnants.
114
Ramanujan et
3
'iT
Impulsions
La démarche qui conduisit Ramanujan à ses découvertes sur 'iT s'est révélée d'une grande importance pratique et très prometteuse. Depuis, d'autres chercheurs ont poursuivi leur recherche dans la même direction. Les frères Borwein ont réussi à établir des formules générales qui englobent toutes les séries de Ramanujan en fixant convenablement la valeur d'un paramètre. On trouvera plus de détails sur le serveur Vuibert. En ce fondant sur ce modèle, Ji:irg Arndt a mis au point la série suivante dont chaque terme fournit 50 décimales supplémentaires de 'iT (Arndt [7], 1994) :
1
(8.6)
1
;;: =
(Xl
v=T2J ~
(6n ) ! A + nB n 12 (3n)!(n!)3 Jn
où
= 528041902608099995452185 + 2361475178400070170568800V5 +
A
32V5(10891728551171178200467436212395209160385656017+ 4870929086578810225077338534541688721351255040V5)1/2
B
= 654159204458052267524145750+292548889855077669080467200V5 +209664vf3110(6260208323789001636993322654444020882161 +279965027306044429657720689071825190235V5)1/2
J
- [17897749588626020 + 8004116944887336V5 +
108v15(10985234579463550323713318473 +49127 46253692362754607395912v15) 1/2] 3 Une autre série de type « Ramanujan », tout aussi spectaculaire et en outre pratique fut développée par les frères Chudnovsky. Elle est définie ainsi (D. et G. Chudnovsky, 1987) :
(8.7)
~ = 'iT
12 ~(_l)k (6k)! x 13591409 + 545140134 k vf640320 3 ~ (k!)3(3k)! (640320 3)k k=O
115
Impulsions
Chaque terme de cette série fournit 15 décimales supplémentaires de 7r. C'est grâce à elle que les frères Chudnovsky calculèrent 8 milliards de décimales de 7r en 1996. La série est utilisée dans plusieurs logiciels de calcul formel, dont Mathematica, pour calculer 7r; en ce sens, elle est très utile. Ce serait aussi un « candidat» idéal pour un calcul collectif de 7r sur Internet parce qu'elle peut facilement être adaptée à l'algorithme de découpage binaire (voir chapitre 15). Pour les calculs très poussés de 7r les plus récents, les séries de type « Ramanujan» ont été remplacées par d'autres méthodes, notamment par des algorithmes itératifs développés par les frères Borwein. L'un d'eux est l'algorithme suivant « quintique» [33, p.115]) :
(J. et P. Borwein, 1987
Algorithme quintique de Borwein (8.8) Initialisation So:= 5(V5 - 2)
ao
:=
1/2
Itération
avec x :=
5/ Sk
-
1
Y := (x - 1)2
z:= ak+l
+7
(~(y + Vy2 - 4x 3 ) =
2
Skak -
5
r/
5
k(S~- 2- -5 + V. /
2
Sk(Sk -
2Sk
+ 5) )
1
--+ 7r
Alors :
a n _.1'Jr
< 16 . 5 k . e- 5n
'Jr
Le calcul d'un terme de la série multiplie par 5 le nombre de décimales de calculé.
7r
De tels algorithmes ne figurent pas dans les travaux de Ramanujan, mais ils sont étroitement liés aux méthodes d'analyse développées par Ramanujan. Par exemple, cet algorithme quintique repose sur une équation modulaire d'ordre 5 (se retrouvant dans la définition de Sk) dont l'origine remonte à Ramanujan. Ainsi peut-on dire que d'une certaine façon, on retrouve encore l'empreinte de Ramanujan dans les calculs de 7r d'aujourd'hui.
9 Les frères Borwein et
7r
S'il existe des mathématiciens ayant marqué l'histoire des recherches sur 7r à une époque récente, ce sont bien les frères Peter et Jonathan Borwein. Ils ont développé quasiment tous les algorithmes très performants sur lesquels les calculs de 7r sont aujourd'hui fondés. Les deux frères naquirent à Saint Andrews, en Écosse, Jonathan en 1951 et Peter en 1953. Leurs parents émigrèrent au Canada, où leur père David Borwein dirigea pendant plusieurs années l'institut de mathématiques de l'université de l'Ouest de l'Ontario dont il est maintenant professeur émérite. Il était donc «naturel» que les frères étudiassent les mathématiques, et Jonathan obtint son doctorat en 1974, Peter en 1979. Après avoir terminé leurs études, ils travaillèrent ensemble à l'université Dalhousie à Halifax, la capitale de la province canadienne de Nouvelle Écosse. Ils y furent nommés professeurs. En 1992 Jonathan passa de l'Est du Canada à l'Ouest, où il fut suivi une année plus tard par son frère. Aujourd'hui tous les deux enseignent et effectuent leurs recherches à l'université Simon Fraser à Burnaby, en Colombie-Britannique. Il y dirigent le Centre de mathématiques expérimentales et concrètes (CECM), qu'ils ont eu toute liberté de créer. Le travail académique des Borwein est considérable. En 14 ans, Peter a publié une centaine d'articles et cinq livres. Jonathan Borwein en a fait pratiquement autant. Le nombre 7r n'est pas le seul sujet de recherche dans lequel les Borwein se sont illustrés. En fait, moins de 20% de leurs publications incluent 7r dans le titre. Toutefois, c'est leur sujet principal, celui auquel leur nom est maintenant attaché. La raison majeure est que, depuis 1984, les frères Borwein ont développé un grand nombre d'algorithmes très performants pour le calcul de 7r; ils ont aussitôt été mis en œuvre par divers mathématiciens, tels que Bailey et Kanada. Les Borwein firent leurs débuts sur 7r en 1984 avec l'algorithme suivant, (J. et P. Borwein, 1987 [30, p. 360]) qui converge à
118
Les frères Borwein et
7r
une vitesse quadratique, et qui est dérivé de l'algorithme de Gauss, Brent et Salamin, [30] (voir chapitre 7).
L'algorithme quadratique (9.1), variante de l'algorithme MAG pour le calcul de 7r. Initialisation ao:=
bo := Po:=
J2
°
2 + J2
Itération (k
= 0, 1,2, ... )
ak+l :=
~ ( Vak + ~)
bk+l :=
yfak ( b~k:a\)
k +1 ) Pk+l ..- Pk bk+l (1+a l+bk+l
----t 7r
+
Convergence quadratique vers Pk -
7r
<
7r
par valeurs supérieures, avec
102k+l, (k;:) 2)
Cet algorithme fut le point de départ d'une longue liste d'algorithmes itératifs de plus en plus rapides. Parmi ceux-ci, l'algorithme suivant, (J. et P. Borwein, 1987 [32, p.170]), à vitesse quartique, les a fait connaître car c'est celui qui a été utilisé depuis sa publication en 1987 pour tous les records du monde de calcul de décimales de 7r, notamment ceux de Yasumasa Kanada [32, p. 170] :
L'algorithme quartique (9.2) des Borwein Ini tialisation
J2-1 ao:= 6 - 4J2
Yo:=
Itération (k
Yk+l :=
ak+l
= 0,1,2, ... )
l-R 4r;--:;ï
{;l- Yt 4 := ak(1 + Yk+d 1+
2k
2 + 3Yk+l(1
+ Yk+l + Y~+l)
Convergence à vitesse quartique vers ~
----t
~
119
L'erreur est de ak -
1. 7r
< 16· 4 k ·2e-4k27r
J. et P. Borwein, 1087 [32, p. 170] Une forme plus générale de cet algorithme se trouve dans le livre [32] publié en 1987 par Jonathan et Peter Borwein sous le titre Pi et la moyenne arithmético-géométrique. Théorie analytique des nombres et complexité calculatoire. Ce livre important (un passage obligé pour tout les amateurs de 7r que les mathématiques ne rebutent pas) couvre tous les aspects des recherches sur 7r, et pas seulement le calcul rapide des décimales. Par exemple, les auteurs font un retour sur les mathématiques du XIX e siècle, et évoquent les travaux de Lagrange (1736-1813), Legendre (1752-1833), Gauss (1777-1855), Jacobi (1804-1851) et Ramanujan (1887-1920) sur les fonctions et les intégrales elliptiques, les fonctions théta, et les fonctions modulaires. Le livre tout entier est imprégné du respect et de l'admiration que les deux auteurs éprouvent à l'égard de ceux qui leur ont fourni la base pour leurs propres travaux. Cela se traduit aussi par l'importante bibliographie, et par la dédicace de l'ouvrage à leur père, David Borwein. Outre les algorithmes très performants qui les ont rendus célèbres, les Borwein expliquent dans leur livre la structure générale de ces algorithmes. Ils démontrent par exemple que la série de Ramanujan (8.1) est un cas particulier (n = 58) d'une approche beaucoup plus générale. Et au chapitre 5, ils donnent en quelques pages une quantité invraisemblable d'algorithmes, avec des vitesses de convergence quadratique, cubique, quartique, quintique, septique et même nonique. Et ils invitent le lecteur à en développer lui-même. Incroyable. (Voir le serveur Vuibert pour plus de détails.) Même après la publication de leur livre sur 7r, les Borwein ont poursuivi leurs recherches. En 1995 Peter Borwein et deux autres chercheurs ont publié un résultat spectaculaire connu maintenant comme la série de Bailey-BorweinPlouffe (voir chapitre 10). Cette série rend possible quelque chose d'inimaginable : calculer directement un chiffre précis du développement hexadécimal de 7r sans qu'il soit nécessaire de calculer les précédents. Pour prendre une comparaison, c'est comme si, dans une multiplication de deux nombres de 30 chiffres, on cherchait à calculer directement le vingtième chiffre du résultat, sans avoir le droit de calculer les autres chiffres, ni avant ni après ce vingtième chiffre. Cela semble difficile, voire impossible. Supposons maintenant que l'on veuille calculer directement le 123 milliardième chiffre du développement hexadécimlal de 7r. Ce chiffre dépend inextricablement des précédents, et pourtant, on peut le calculer.
120
Les frères Borwein et
1r
Jonathan et Peter Borwein ont publié récemment, avec Lennart Berggren, un nouvel ouvrage sur 1r, [20] : Pi : A Source book. Ce livre contient la reproduction de 70 articles importants, comme le traité de Lambert sur l'irrationalité de 1r (1761) et celui de Lindemann sur la transcendance de 1r (1882). Le livre inclut aussi certains articles importants des frères Borwein eux-mêmes. Cet excellent livre replace le travail des Borwein dans la continuité historique des découvertes sur 1r, et il en fait ressortir l'importance historique. Le travail des frères Borwein a non seulement permis une augmentation démesurée du nombre de décimales de 1r connues, mais il a surtout redonné des lettres de noblesse à un sujet de recherches qui était considéré par beaucoup comme un domaine mort, depuis la démonstration de la transcendance par Lindemann. Les résultats des Borwein ont conduit certains mathématiciens à suggérer la création de branches nouvelles des mathématiques, consacrées à 1r et à e, que l'on pourrait appeler les mathématiques de 1r et les mathématiques de e. Les mathématiques de e seraient linéaires, explicites, ouvertes aux généralisations, aisément accessibles, hautement algébriques et conduiraient, grâce à la fonction exponentielle, à des sujets comme les sous-groupes à un paramètre, les algèbres de Lie, et la représentation des groupes. En revanche, les mathématiques de 1r seraient non-linéaires, implicites, difficilement généralisables, hautement analytiques et, par l'intermédiaire des fonctions modulaires et des identités de Ramanujan, auraient un impact significatif sur la théorie des fonctions, la théorie des nombres et la logique combinatoire [121]. Qui sait, peut-être y aura-t-il un jour un doctorat de mathématiques portant sur 1r. Les titulaires de ce diplôme devront sans doute remercier Jonathan et Peter Borwein ...
10 L'algorithme BBP Le titre de l'invitation semblait simplement intéressant: Sur le n-ième chiffre d'un nombre transcendant, OU, le 10 milliardième chiffre du développement hexadécimal de 7r est un 9. Néanmoins, une nouvelle sensationnelle se cachait dans le texte qui suivait: Jusqu'à maintenant, on pensait généralement que le calcul du n-ième chiffre de l'écriture décimale d'un nombre transcendant comme 7r était aussi difficile qui le calcul de 7r lui-même. Nous montrerons que ce n'est pas vrai ... Nous donnerons pour cela des algorithmes ... Ces algorithmes peuvent être mis en IJuvre facilement, car ils ne requièrent pas d'arithmétique en précision multiple, ne nécessitent virtuellement aucune mémoire, et ont des temps d'exécution proportionnels au rang de la décimale désirée. Ils rendent possible le calcul, par exemple, du milliardième chiffre du développement binaire de ln 2 sur un ordinateur de bureau, en quelques jours de calcul... Tels étaient le titre et le résumé figurant sur les invitations envoyées le 30 septembre 1995 à un séminaire à l'université Simon Fraser à Burnaby, Canada. Les invitations avaient été émises par des mathématiciens bien connus pour leurs travaux sur 7r, David Bailey, Peter Borwein et Simon Plouffe. Deux semaines après, les trois orateurs présentèrent au séminaire les algorithmes qu'ils avaient annoncés; ils fournirent les preuves les justifiant, et mirent ainsi à bas le vieil adage selon lequel, pour gravir une montagne, il faut partir du bas. La nouvelle formule détruisit un vieux « paradigme». (10.1)
7r
=
~ 00
1 (4 2 1 1) 16n Sn + 1 - Sn + 4 - Sn + 5 - Sn + 6
122
L'algorithme BBP
PETER ET JONATHAN BORWEIN
Avec cette série, il devient ainsi possible de calculer directement tout chiffre du développement hexadécimal de 7r. Mieux encore: la série permet de calculer les chiffres à partir de n'importe quel chiffre déjà connu, sans avoir à recalculer le début du développement hexadécimal. Le terme remarquable dans la formule est le 16 n dans le dénominateur de chaque terme de la série. L'algorithme déduit de cette série est appelé maintenant l'algorithme BBP, des initiales de ses découvreurs; nous verrons plus loin comment le mettre en IJuvre. Auparavant, voyons comment cette formule fut découverte. Ce ne fut pas le fruit du hasard, même s'il fallut un peu de chance. Les trois inventeurs de la série BBP travaillaient depuis longtemps sur 7r. Les propriétés mathématiques utilisées étaient connues depuis longtemps. Pourtant la série ne fut pas découverte grâce à un raisonnement de ses auteurs : ils utilisèrent un ordinateur équipé d'un programme de calcul formel, sur lequel ils firent tourner un algorithme appelé PSQL qui trouva la série. Eux-mêmes l'écrivirent « Nous avons découvert de formule (10.1) grâce à une combinaison d'expérimentations inspirées et de recherches systématiques». Le calcul formel appartient au domaine des sciences qui traite des méthodes de résolution de problèmes mathématiques en se servant d'algorithmes symboliques. Son origine est parfois attribuée à Ada Augusta, Comtesse de Lovelace (1815-1852), qui fut sans doute la première personne à remarquer que les ordinateurs sont également aptes au maniement des données symboliques (telles que des formules). Les programmes de calcul formel les plus connus sont p,Pad (lire Mu-Pad), Maple et Mathematica; leur mode de fonctionnement naturel est le travail sur des symboles, plutôt qu'avec des nombres. On les utilise principalement pour étudier des équations, mais on peut aussi s'en servir pour établir de nouvelles identités, ou comme ici, pour effectuer des calculs de haute précision.
123
SIMON PLOUFFE
L'algorithme PSQL permet de trouver des combinaisons linéaires à coefficients entiers entre des nombres réels. On part d'un vecteur (Xl, X2, ... , x n ) de nombres réels. L'algorithme cherche alors un vecteur non nul à coordonnées entières (al, a2, ... , an), tel que, al Xl + a2X2 + ... + anx n = O. Il est facile de voir pourquoi cet algorithme fut un facteur décisif pour la découverte de la série BBP. Nos trois chercheurs avaient déjà établi que la série classique ln 2
1
(Xl
=~ - - permet de calculer tout chiffre du développement binaire de ~n2n n=l
ln 2. Ils se demandaient donc s'il pourrait y avoir une série similaire pour Ir. Après beaucoup de tentatives infructueuses, ils firent tourner l'algorithme PSQL avec la condition initiale (Xl
1
Xl
=
Ir, X2
=
1
(Xl
L
n=l
(8n
+ 1)16n '··· ,Xs =
~ (8n + 7)16 n · Quand l'algorithme arriva au vecteur (1, -4, 0, 0, 2,1,1,0), la série BBP était découverte [58]. Ainsi la série (10.1) n'est-elle pas la production directe d'un cerveau humain,
124
L'algorithme BBP
mais celle d'un ordinateur. Il fallut néanmoins établir une preuve classique de la formule, ce qui ne fut pas très difficile [13]. Tout d'abord, il faut établir que, pour tout k
(10 2) .
1
1/V2
0
xk-l ---dx 1 - x8
=
11/V2 '"' x 00
~
0
k
-1+
< S on a
8n dx
1
00
1
= - - '"' - n- - - 2k/2 ~ 16 (Sn
+ k)
On peut alors écrire
(10.3)
1
~ 16n 00
1
/
1 o
(4+ Sn
V2 4V2 - Sx
Si l'on compose par x
(10.4)
1 - Sn
f--7
2
+4
1 1) - Sn + 5 - Sn + 6
4V2x 4 - Sx 5 8 dx 1-x
3 -
11
y = xV2, on obtient
1 16y - 16 ---;--~---dy = o y4 - 2y 3 + 4y - 4
1
0
4y --dy y2 - 2
11 0
4y - S dy = y2 - 2y + 2
7r
où la fraction dans l'intégrale de gauche a été réduite en éléments simples. La série BBP pourrait certainement aussi être utilisée pour un calcul de 7r depuis les premières décimales, mais elle n'est pas particulièrement bien adaptée pour un tel calcul; aussi ne remplacera-t-elle jamais des algorithmes tels que l'algorithme MAG de Gauss, connu depuis bien plus longtemps. Ce qui fait la force de la formule (10.1), c'est la possibilité qu'elle fournit de calculer directement des chiffres où qu'ils soient placés dans le développement de 7r. La démarche à suivre pour un tel calcul n'est pas du tout compliquée, et elle produit même un bonus. Au cours de l'évaluation de la série BBP, on calcule séparément chacune des quatre sommes 51
00
1
= '"' ( ).52 ,53 ,54 , Considérons par exemple ~ 16 n Sn+ 1 . n=O
Pour obtenir la séquence de chiffres hexadécimaux de 51 qui commencent à la position donnée p = d + 1, (p = 1, 2, ... ), 51 est décalé vers la gauche de d places hexadécimales. La partie décalée au-delà du point (de la virgule dans les anciennes notations) hexadécimal est écartée. Les chiffres sont obtenus en ne se servant que de la partie du produit 16d x 51 qui se trouve après le point hexadécimal. Quand on arrive aux divisions par Sn + 1, une fois encore
125
Exponentiation binaire
c'est seulement la partie du développement située après le point hexadécimal qui est utilisée. Ainsi, on a uniquement besoin de calculer le reste de ces divisions, ce qui réduit d'autant la longueur des nombres à manipuler. On simplifie donc le calcul de SI en procédant comme suit:
partie hexadécimale de 16 dSI
(10.5)
=
16 d - n
<Xl
L n=O
=
d-l
L
n=O
()
16 -nmod Sn Sn + 1 d
+1
L <Xl
mod 1 +
n=d
Sn+ 1
mod 1
1 16 n - d (Sn
+ 1)
Ici, on utilise chaque fois que c'est possible la réduction par la fonction modulo, si bien que l'on ne considère chaque fois que le reste de chaque division. La somme SI est maintenant coupée en deux parties. Dans la première, les termes d - n sont positifs si bien que les puissances 16 d - n sont au numérateur et que les termes de la série sont strictement supérieurs à 1. Dans la deuxième partie de la somme, les d - n sont négatifs et tous les termes de série sont strictement inférieurs à 1. La réduction aux restes grâce à la fonction modulo ne sert que pour la première partie de la somme.
1
Exponentiation binaire
Le bonus auquel nous avons fait allusion plus haut survient pendant le calcul des numérateurs de la première partie de la somme, celle contenant les termes 16 d - n mod(Sn + 1). Si l'on omet de composer par la fonction modulo dans le calcul de cette première partie de la somme, on obtient le calcul le plus efficace possible d'une puissance de la forme xk. L'algorithme d'exponentiation rapide, bien connu de tous les étudiants, a été décrit à l'origine par D. Knuth [77, p. 461]. Expliquons-le. Supposons par exemple que nous désirions calculer x 16 ; nous pourrions simplement commencer avec x et multiplier par x quinze fois. Il est possible d'obtenir le même résultat avec seulement quatre multiplications, si l'on pense à prendre simplement le carré de chaque résultat partiel; on calcule donc en fait seulement les termes x 2 , x 4 , x 8 , x 16 . La même idée s'applique, en général, à toute valeur de k. On procède ainsi. On décompose l'entier k en écriture binaire (supprimer les zéros à gauche). Remplacer alors chaque 1 par la paire de lettres ex, chaque 0 par e, et barrer le ex de gauche. Le résultat est une règle de calcul de xk : chaque doit être interprété comme l'opération d'élévation au carré, tandis que chaque X doit être interprété comme l'opération de multiplication par x.
e
126
L'algorithme BBP
Considérons par exemple k = 23; en base 2, on peut écrire k = 10111, car 23 = 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 1 xl; La séquence traduisant la règle précédente s'écrit exeexexex. Si l'on enlève le ex de gauche, il reste eexexex. D'après la règle, on va donc successivement élever au carré, élever au carré, multiplier par x, élever au carré, multiplier par x, élever au carré, puis enfin multiplier par x. On obtiendra successivement x 2 , x 4 , x 5 , xlO " xlI x 22 et x 23 . Selon Knuth, cet algorithme d'exponentiation binaire était déjà connu en Inde il y a plus de 2 000 ans. On en trouve la trace, vers 200 av. J.-C. dans un document appelé ehandahsutra [77, p. 461]. Knuth note que ce savoirfaire resta pendant très longtemps confinée à l'Inde car, en dehors de ce pays, on n'a retrouvé aucune mention de la méthode pendant plus de 1 000 ans. Dans le problème que nous allons maintenant considérer, il va falloir apporter une petite modification à l'algorithme d'exponentiation binaire. Comme seuls nous intéressent les hexadécimales, c'est-à-dire les chiffres de l'écriture hexadécimale (base 16) placés après le point (autrefois la virgule), nous pouvons négliger la partie entière, et donc, dans les divisions, nous pouvons ignorer les quotients pour ne calculer que les restes. Cela permet de ne manipuler que des nombres beaucoup plus petits. Ainsi à chaque itération, le calcul est effectué modulo c = 8n + 1, le dénominateur suivant. Le résultat est une exponentiation binaire modulaire. Cela peut être facilement traduit en algorithme.
Algorithme d'exponentiation binaire modulaire Pour calculer r = bk mod c, poser r := b mod c et t la valeur plus grande puissance de 2 plus petite que k. Soit k:= k - t. Alors, Tant que Ct > 1)
t
:=
tj2
r := r 2 mod c
Si k;? t Alors
k := k - t r := br mod c
Fin de Si Fin de Tant que Au terme du calcul, r vaut bk mod c. L'algorithme est exécuté entièrement avec des entiers positifs qui ne sont pas supérieurs à (c - 1)2. Voici
Un programme en C pour la série BBP
127
un exemple numérique tiré de [13] : pendant le calcul de 349 mod 400, r prend successivement les valeurs 3,9,27,329,241,81,161 et 83, et de fait 349 = 239 299 329 230 617 529 590 083, de sorte que 83 est bien le résultat. Dans la formule (10.1), le calcul du reste est très simple. Les sommes calculées par exponentiation binaire sont divisés par 8n+ 1 et ajoutées. Une fois encore, seule nous intéresse la partie du résultat située après le point hexadécimal. La procédure est étendue aux sommes 8 2 à 8 4. La somme 481 - 282 - 8 3 - 84 est alors calculée, et son chiffre après le point hexadécimal est le chiffre hexadécimal de 7r cherché. Comme on peut le constater, la série BBP est étonnamment simple. Ni la formule (10.1), ni sa preuve, ni sa mise en œuvre ne sont particulièrement subtil ou compliqué. C'est bien ce qui rend l'algorithme si intéressant. Même si 7r est le principal centre d'intérêt, comme c'est si souvent le cas, notamment dans ce livre, quelques modifications mineures du résultat de Bailey, Borwein et Plouffe suffisent à l'étendre à d'autres nombres que 7r. À beaucoup d'autres nombres. Les trois chercheurs ont non seulement donné des formules supplémentaires du même type pour 7r, 7r 2 etc., mais ils en ont aussi découvert pour d'autres constantes « polylogarithmique », comme ln 2. On trouve ces résultats exposés en détail dans leur article [10]. On ne peut que recommander sa lecture à ceux que cela intéresse.
2
Un programme en C pour la série BBP
Voici à présent un programme en C ANSI permettant de calculer le pe chiffre après le point hexadécimal de 7r. Avec ce programme, on peut facilement prendre un entier p valant jusqu'à environ 36 millions. Le programme utilise la série BBP (10.1) de Bailey, Borwein et Plouffe. C'est presque le même programme que celui que David Bailey a mis sur son site Internet. Dans le programme, l'opération centrale est l'exponentiation binaire en modulo qui est exécutée par la fonction expm. Une fois décrit, le code source devrait être facile à comprendre. La fonction serie est utilisée pour calculer chacune des 4 sommes de la série BBP. Comme on l'a expliqué plus haut, chacune de ces sommes est-elle même constituée de deux sous-sommes. La première regroupe les d = p - 1 premiers termes ayant des numérateurs> 1, et la seconde regroupe les termes suivants, dont les numérateurs sont égaux à 1. Les termes de la première somme qui viennent après le point hexadécimal sont calculés en utilisant l'exponentiation binaire en modulo; les termes de la deuxième partie de la somme sont tous strictement inférieurs à 1 et ils sont déterminés par un calcul
128
L'algorithme BBP
classique, à l'aide de divisions en virgule flottante. Pour la deuxième somme, on calcule seulement un nombre de termes tel que compte tenu des erreurs d'arrondi, on obtient un résultat exact à 7 chiffres hexadécimaux, parce que le programme calcule non seulement le p-ième chiffre, mais aussi les sept suivants. Pour atteindre une précision de 8 chiffres hexadécimaux après le point hexadécimal, il fautà peu près 42 chiffres binaires, ce qui correspond à une exactitude décimale d'environ 10- 13 , soit, en réalité, la valeur de eps dans le programme. Dans la section Main du programme, le paramètre utilisateur p est lu, puis le calcul des quatre sommes est enclenché, et enfin la partie de l'écriture hexadécimale située après le p-ième chiffre après le point est écrite en base seize. Le temps d'exécution du programme est à peu près linéaire. Pour calculer le millionième chiffre du développement hexadécimal de 7T, il a fallu 48 secondes sur un ordinateur équipé d'un Pentium 400, tandis que le calcul du dixmillionième chiffre a demandé 580 secondes. Le programme peut être compilé avec tout compilateur compatible avec la norme C ANS!. /**********************************************************
**
Ce programme à la norme ANSI calcule le p-ème chiffre * en héxadecimal de pi (avec les 7 chiffres suivants). ** p est envoyé à la ligne de commande. * 0 <= p <= 2-29 (approx. 536 million). * p=l signifie le premier chiffre après la virgule.
**
* * * *
Ce programme utilise l'algorithme BBP de D. Bailey, P. Borwein und S. Plouffe. Sa fonction centrale is expm() qui exécute une exponentiation binaire modulaire. D'après D. Bailey 960429
*
**********************************************************/ #include #include #include #include #include
<stdio.h> <stdlib.h> <math.h>
/* Limits: d_max = p_max - 1 ak_max = 8 * d_max + 6 r_max = ak_max - 1 r_max-2 < 2-(LDBL_MANT_DIG). With mantissa length = 2m (usually 2m 64): r_max <= 2-m-l ak max <= 2-m d_max < 2-(m-3) p_max < 2-(m-3) */ #define p_max pow(2, LDBL_MANT_DIG*0.5 - 3)
Un programme en C pour la série BBP
129
/**********************************************************
** **
expm(long n, double ak) Calcule 16-n mod ak en utilisant l'exponentiation binaire modulaire.
* **********************************************************/ double expm(long n, double ak)
{
long double r = 16.0; long nt; if (ak == 1) return O.; if (n == 0) return l' if (n == 1) return f~od(16.0, ak); /* nt: largest power of 2 not greater than n/2. */ for (nt=l; nt <= n; nt «=1)
,
nt »= 2; /* do
Binary exponentiation modulo ak. */
{
}
r = fmodl(r*r, ak); if «n & nt) != 0) r = fmodl(16.0*r, ak); nt »= 1; } while (nt != 0); return r;
/**********************************************************
* series(double m, long d) * ** calcul de sum_k {16-(d-k)mod(8k+m)}/(8k+m), * (k=O, 1, 2, ... , d-l) **********************************************************/ double series(double m, long d) {
long k; double ak = m; double s = O., t = 1., x; /* Sum of terms O.. d-l */ for (k = 0; k < d; k++) {
X
= expm (d-k, ak);
s += x / ak;
}
s = fmod(s, 1.0); ak += 8.0;
/* Some additional terms for 8 hex digit accuracy */ #define eps 0.25e-12 /* = 16-{-10} / 4 */ while ( (x=t/ak) > eps) {
S += x; t /= 16.0; ak += 8.0;
130
L'algorithme BBP
} }
return s;
/**********************************************************
* main() * ***********************************************************/ main(int argc, char *argv[]) {
time_t t_beg, t_end; double s· double p'= 1000.0; /* if if if
Get p from the command line */ (argc > 1) p strtod(argv[1], NULL); (p < 1) p = 1; (p > p_max) p = p_max;
printf("Hex digits %.Of to t_beg=clockO; s = 4*series (1, p-1) - 2*series (4, p-1) series (5, p-1) series (6, p-1); s += 4·, /* ensure s
}
/* default fuer p */
%.Of of pi: /* /* /* /* >=
4, 8i+1 -2, 8i+4 -1, 8i+5 -1, 8i+6 0 */
Il
p, p+7);
*/
*/
*/ */
t_end=clockO; printf("%08lX\n", (unsigned long) (s*pow(2, 32))); printf("Elapsed time was: %.1f sec.\n", 1.0*(t_end-t_beg)/CLOCKS_PER_SEC); return 0;
3
Des améliorations
À peine Bailey, Borwein et Plouffe eurent-ils annoncé leur surprenante formule (10.1) que d'autres chercheurs se mirent à leurs ordinateurs avec l'espoir de trouver des séries aussi belles que la série BBP. Les résultats ne se firent guère attendre. On trouva rapidement des formules pour d'autres constantes, par exemple, pour Jr2 et ln 7, ainsi que des formules plus simples ou plus efficaces pour Jr lui-même (pour voir certains exemples, consulter notre collection de formules en fin d'ouvrage).
Le prix de la plus simple formule pour Jr revient sans conteste au duo de chercheurs formé par Viktor Adamchik et Stan Wagon (Adamchik, Wagon, 1997 [2]).
(10.7) Cette formule contient seulement 3 termes, donc un de moins que la formule
131
Des améliorations
BBP. Elle n'est pas seulement plus courte. Sa découverte fut également plus simple. Plus besoin de convertir les sommes en intégrales, il suffisait de laisser l'ordinateur manipuler les identités, en le guidant un peu. Il fallait seulement avoir l'idée de départ. Cette idée, ce fut de partir d'une expression de la forme
~(_l)n(
~-n=O 4n
a4 ) -al- + - a2 - + a3 + 4n + 1 4n + 2 4n + 3 4n + 4
Ils rentrèrent cette formule dans Mathematica 3.0, logiciel de calcul formel, et ce dernier leur évalua ainsi l'expression
1
"8 (2( 4(a2arccot2 -
a4 ln 4 + a4 ln 5 + a3( 'if / 4 + arccot3 - (ln 25) /4)))
+ al ('if + 4arccot3 + ln 25)) Arrivés à ce stade, les auteurs demandèrent à Mathematica d'effectuer quelques simplifications, comme des substitutions tirées de l'égalité 'if = arctan 1 + arctan 2 + arctan 3; ils obtinrent une expression encore plus simple:
La suite fut très simple. Wagon et Adamchik cherchèrent des valeurs de al, a2, a3 et a4, annulant les trois derniers termes, donnant la valeur 1 au premier coefficient. Ils auraient pu faire le calcul à la main, mais ils laissèrent Mathematica se charger de la résolution du système. Ils rentrèrent donc la question
et en quelques secondes, ils obtinrent la réponse,
Ça y était! la formule (10.7) était née. Un jeu d'enfant! Quoique courte et fort instructive, la formule (10.7) n'est pas particulièrement efficace. Fabrice Bellard a surmonté ce défaut avec la série suivante :
132
(10.8)
L'algorithme BBP
1
7r
= 64
00
(_l)n ( 3 2 1 - 4n + 1 - 4n + 3
L 1024n n=O
64 4 4 - IOn + 3 - IOn + 5 - IOn + 7
256
+ lOn + 1 1)
+ IOn + 9
Évidemment la formule (10.8) est plus rapide que les deux séries évoquées plus haut. Nos mesures expérimentales ont confirmé un gain de 43% par rapport à (10.1). Cette amélioration vient du fait que la formule de Bellard calcule 7r en base 1024, alors que la série BBP le fait en base 16. Pour un effort similaire, on calcule donc des chiffres placés plus loin dans le développement. La série de Bellard est actuellement l'outil favori des chasseurs de décimales de 7r. Avec elle, Bellard et plus récemment Colin Percival ont établi plusieurs fois de nouveaux records. En septembre 2000 le record était le 10 15 -ième chiffre du développement binaire de 7r, un 02 (voir chapitre 13). La série BBP et ses nombreuses généralisations ne peuvent malheureusement fournir que des chiffres du développement de 7r dans des bases plus ou moins exotiques, comme 2,4,8,16 ou 1024. Il serait très agréable d'en trouver une qui permette le calcul des décimales de 7r en base 10. Depuis maintenant un temps certain, on connaît une série permettant de calculer individuellement les décimales d'un nombre, ln(0.9). Voici cette série:
(10.9)
ln
( 9) 10
00
= -
1
~ n10n
Cette série a fait naître l'espoir qu'un jour on trouvera une série convergeant vers 7r, avec des lO n au dénominateur, au lieu des 2n . Ce jour-là, on pourra calculer directement les décimales de 7r. Malheureusement, ce n'est pas très vraisemblable. Une des caractéristiques des formules de type BBP pour 7r est le fait qu'elles contiennent des expressions de la fonction arc tangente en des points qui sont des multiples rationnels de 7r en base 16. Or on a démontré récemment qu'il n'existe aucune telle formule avec la base 10, si bien que la recherche de formules de type BBP pour les décimales de 7r est vouée à l'échec. Mais peut-être un jour, trouvera-t-on une nouvelle voie pour attaquer le problème. Simon Plouffe a trouvé récemment une nouvelle piste pour la recherche des décimales de 7r. Il a mis au point un algorithme qui permet de calculer des
133
Des améliorations
chiffres précis du développement de 1f dans n'importe quelle base. Cependant, le temps de calcul est d'ordre cubique, si bien qu'il est plus rapide de calculer un chiffre précis en calculant tous les précédents par une méthode globale de calcul de 1f. Toutefois ce résultat a déjà été amélioré. Fabrice Bellard, que nous avons évoqué plus haut, a découvert comment déterminer tout chiffre du développement de 1f dans n'importe quelle base, en un temps quadratique. Voici son algorithme [19] :
Algorithme de calcul du n-ième chiffre du développement de base B
1f
en
Soit N:= l(n + c)log2BJ, où c est un petit entier (par exemple 20) utilisé pour garantir la précision. sum = 0 Pour chaque nombre premier a compris entre 3 et 2N - 1, faire
{ vmax := lln(2N)jln(a)J m:= a vmax
v:= 0
s:= 0 A:= 1 b:= 1 Pour (k=1,2, ... ,N)
{ b := aV(~.k) • b mûd m A'2k-l A mû d m . - a v (a,2k 1)' v:= v - v(a,k) - v(a,2k -1) Si v> 0
{ s := s + kbA-lavmax-v mûd m
} } s := sBn-l mûd m sum'= sum+ .
~ m
mûd 1
} Une fois l'algorithme mené à son terme, la variable sum donne un nombre dont les premiers termes après le point sont ceux du développement de 1f en base B.
Il L'arithmétique en grande preC'lS'lon ~
Calculer 7f demande trois choses: une ordinateur puissant, un algorithme efficace et une arithmétique rapide. «Pourquoi une arithmétique rapide» devez-vous vous demander? « N'est-ce pas simplement la même chose qu'un ordinateur puissant? » Oui et non. Naturellement tous les ordinateurs peuvent ajouter et multiplier. C'est leur domaine de compétence, et les ordinateurs puissants le font bien, et même très rapidement. Mais ils ne peuvent travailler qu'avec des nombres courts, n'ayant généralement pas plus de 32 ou 80 bits, ce qui est bien audessous de ce qu'il faut pour le calcul de 7f. Cela signifie que tout programme de calcul de 7f doit incorporer le calcul d'opérations arithmétiques longues à partir des opérations courtes que tous les ordinateurs savent effectuer.
1
La multiplication
L'opération arithmétique qui a de loin le plus grand impact sur la durée des calculs est la multiplication de nombres longs. Un programme de calcul de 7f passe la quasi-totalité de son temps d'exécution à effectuer des multiplications longues, ou des opérations se ramenant à des séquences de multiplications longues, comme des extractions de racines carrées ou des divisions. Par contraste, les additions et les soustractions ne jouent qu'un rôle relativement insignifiant. Quelle est la manière la plus efficace pour effectuer le produit de deux multiplicandes? La réponse à cette question a été la même durant des siècles : c'est la méthode qui de nos jours est encore enseignée à l'école. Pour effectuer ce produit, on multiplie le premier multiplicande par le premier chiffre du deuxième multiplicande, et l'on écrit le produit sur une ligne au-dessous; on fait ensuite de même avec les autres chiffres du deuxième multiplicande, en
136
L'arithmétique en grande précision
déplaçant d'un cran les résultats à chaque nouveau chiffre; enfin, on additionne toutes les lignes de produits ensemble, en tenant compte des retenues. Dans cette méthode scolaire, le produit de deux multiplicandes comportant chacun N chiffres réclame N 2 multiplications individuelles. Lorsqu'on double le nombre de chiffres des deux multiplicandes, le temps de calcul est multiplié par quatre. Cela signifie que lorsque N est grand, la multiplication des deux nombres demande un temps considérable. Sur un ordinateur pouvant exécuter 10 millions de multiplications par seconde, il faut plus d'un jour pour effectuer la multiplication de deux nombres ayant chacun un million de chiffres. Dans un calcul de grande précision avec des multiplicandes très longs, le temps requis pour les calculs est prohibitif. Heureusement, il existe des manières plus rapides pour multiplier deux nombres, et ces manières de procéder ne sont même pas difficiles à comprendre.
2
La multiplication de Karatsuba
La façon la plus simple d'accélérer le processus de multiplication est d'utiliser la méthode de multiplication de Karatsuba. Bien que cette technique n'ait été découverte qu'au début des années 1960, son inventeur n'est pas clairement identifié. Malgré son nom, elle n'a assurément pas été inventée par le scientifique Russe Anatole Karatsuba, qui trouva en 1962 une méthode similaire quoiqu'un peu plus compliquée [77, p. 295]. Mais peu importe. Supposons que nous voulions multiplier ensemble deux nombres U et v écrits en base 10, dont l'écriture décimale comporte N = 2 k chiffres. Pour simplifier, nous supposerons ici et dans ce que suit que l'écriture décimale des deux multiplicandes comporte le même nombre de chiffres, et que ce nombre est une puissance de 2. Pour les autres cas, il suffit d'adapter la méthode. On découpe l'écriture de ces nombres en deux parties, correspondant pour la première aux N /2 premiers chiffres de l'écriture décimale, pour la seconde aux N/2 derniers. Autrement dit, on écrit u = u l lO N / 2 +uO, et v = vI10 N / 2 +vO. La méthode scolaire consiste alors à calculer
uv
en utilisant l'identité
(11.1) Cela conduit à 4 multiplications partielles: UIVl, UOVl, UIVO et UOVo. Les puissances de 10 en facteur ne demandent aucune véritable multiplication, mais seulement un décalage dans l'écriture.
La multiplication de Karatsuba
137
Par comparaison, voici comment la multiplication de Karatsuba décompose le produit uv :
Miracle! On n'a plus besoin que de 3 multiplications partielles, à savoir U1Vl, (Ul - ua)(va - Vl) et UaVa. C'est un progrès considérable, qui n'est tempéré que par trois additions supplémentaires. Prenons un exemple numérique. Soient N = 4, U = 9 876, et v = 5 432. On pose Ul = 98, Ua = 76, Vl = 54, et Va = 32. Multiplication scolaire
Multiplication de Karatsuba
5292
98·54 :
5292
98·54 :
76·54 :
4104
Idem:
98·32 :
3136
(98 - 76)(32 - 54) :
76·32 :
2432
53646432
5292 -0484
76·32 :
2432
Idem:
2432 53646432
Ainsi, dans la multiplication de Karatsuba, on effectue trois multiplications de deux nombres de longueur moitié, qui sont elles-même effectuées par la méthode de Karatsuba, donc obtenues à partir de trois multiplications de nombres de longueur un quart etc. Aussi la multiplication de Karatsuba se prête-t-elle bien à un appel récursif. En termes de programme, on peut écrire ce qui suit.
L'algorithme (11.3) de multiplication de Karatsuba Le produit des nombres U et v est calculé et stocké dans T. Les variables U et v sont de longueur n, et T est de longueur 2n. On suppose que n est un nombre pair. On note Ul la moitié gauche de l'écriture décimale de u, Vl celle de v, et Ua et Va les parties droites de l'écriture décimale de ces deux nombres. On aura besoin d'une variable temporaire t de longueur 2n.
Karatsuba(r, u, v, n)
138
L'arithmétique en grande précision
si Cn < limite ou si n n'est pas un nombre pair) multiplier normalement, sinon exécuter Karatsuba(r, u, v, n/2) (pour calculer u{vI et stocker le résultat dans la moitié gauche de r). exécuter Karatsuba (r+n, u+n/2, v+n/2, n/2) (pour calculer de r).
UOVo
et stocker le résultat dans la moitié droite
copier r dans t ajouter UIVI (ou t) et
UOVo
(ou t + n) à r+n/2.
mettre lUI - uol dans t et Ivo - vII dans t + n/2. noter les signes. exécuter Karatsuba(t+n, t, t+n/2, n/2) pour calculer lUI - uol .
Ivo - VII dans t + n Si
UI - Uo
à r + n/2,
et
Vo - VI
sont de même signe, ajouter lUI - uol·lvo - vII
sinon soustraire lUI - uol·lvo - VII à r + n/2, Fin de si. On notera que la fonction Karatsuba s'appelle elle-même trois fois. La variable d'arrêt limite est au moins égale à 1, mais dans la pratique elle prend une valeur plus grande. En effet, du fait de son caractère récursif, la multiplication de Karatsuba devient inefficace lorsque les multiplicandes deviennent trop petits. On la remplace alors par une multiplication ordinaire. La même méthode s'applique lorsque n n'est pas une puissance de 2. Après un certain nombre de divisions par 2, il reste alors un entier impair supérieur à 1. S'il est encore très long, cela nuit gravement à l'efficacité de la méthode de multiplication de Karatsuba, qui n'est véritablement efficace que lorsque les longueurs des nombres à multiplier sont des puissances de deux. C'est une caractéristique que cette méthode partage avec la transformée de Fourier rapide que nous découvrirons dans la section suivante. On trouvera sur le site Vuibert une implémentation de la méthode. Ainsi que nous l'avons vu, la réduction partielle du nombre de multiplications est amplifiée par l'aspect récursif de l'algorithme. Aussi la multiplication de Karatsuba nécessite-t-elle un total de seulement 3k multiplications courtes pour multiplier des nombres de longueur N = 2k; la méthode scolaire en
La multiplication par transformation de Fourier rapide (TFR)
139
demande, elle, N 2 = 4 k . Par suite, le temps de calcul global passe d'un ordre quadratique N 2 à l'ordre N l og2 3 = N1.58496 .... Pour reprendre l'exemple précédent, la multiplication de deux nombres ayant chacun une longueur de un million de chiffres ne prend plus un jour mais simplement 5 minutes! Compte tenu de sa simplicité, il est surprenant que la méthode de multiplication de Karatsuba n'ait qu'une quarantaine d'années. Ni les astronomes de l'Antiquité, ni les mathématiciens des siècles précédant l'invention de l'ordinateur, ni même les célèbres « calculateurs humains» du XVIIIe et du XIX e siècle ne semblent avoir eu à leur disposition autre chose que la méthode scolaire de multiplication. Tout au moins, aucun d'entre eux n'a-t-il donné d'indications contraires. [77, p. 295].
3
La multiplication par transformation de Fourier rapide (TFR)
La méthode de Karatsuba est assez efficace, mais il y a encore plus rapide. L'idée permettant d'atteindre des vitesses plus importantes est d'exécuter une transformation. Les transformations font souvent merveille, et pas seulement en mathématiques. Si un problème ne peut pas être résolu de manière satisfaisante par une voie directe, peut-être qu'avec un peu de chance il sera plus facile à résoudre s'il est transformé en un problème différent. C'est ici le cas. Avant d'effectuer la multiplication, les multiplicandes sont transformés d'une certaine façon. On fait alors subir aux multiplicandes transformés une opération équivalente à la multiplication, mais qui est bien plus rapide. On n'a plus alors qu'à faire subir au résultat la transformation inverse. Cela redonne le produit cherché. Naturellement le détour ne doit pas prendre plus de temps que l'itinéraire direct. Peut-être l'exemple le plus simple est-il celui d'une transformation commode qui pourrait avoir été mentionnée il y a des centaines d'années. Imaginons l'angoisse si l'on voulait effectuer un produit en utilisant le système de numération des Romains, par exemple multiplier MMMDCCLXXXIX par XLIX. Peut-être qu'un jour un Arabe ayant regardé par-dessus l'épaule d'un Romain fut surpris de voir la difficulté de la tâche et décida de l'aider : il transforma les deux nombres romains initiaux en leurs équivalents arabes, effectua la multiplication en utilisant le système décimal arabe, tout comme nous le faisons aujourd'hui, et retransforma le résultat en chiffres romains. N'importe qui peut voir qu'ainsi le Romain aurait obtenu le résultat cherché bien plus rapidement.
140
L'arithmétique en grande précision
Chacun a étudié en classe de terminale un autre exemple de transformation facilitant les multiplications: les logarithmes. Avant l'apparition des calculatrices, c'était la méthode de simplification la plus communément utilisée, largement en raison de son emploi sous-jacent avec les règles à calcul. Dans cette méthode, on calcule d'abord les logarithmes des deux multiplicandes grâce à une lecture de tables de logarithmes; on ajoute ensuite ces logarithmes puis on lit dans une table le nombre dont on a obtenu le logarithme. Les lecteurs ayant fait leur terminale avant l'émergence des calculatrices se souviendront sans doute de leur étonnement quand ils découvrirent pour la première fois par une simple lecture des tables le résultat du produit qu'ils voulaient évaluer. Le schéma suivant traduit le principe de la méthode des logarithmes: a,b
----+
Lecture des logarithmes
----+
l
l
multiplication
addition
l axb
Ina, lnb
f--
Lecture inverse
l
f--
Ina + lnb
Au lieu de procéder directement au calcul du produit a x b, ce type de multiplication fait un détour par les logarithmes de a et de b. Cette méthode est justifiée par le théorème de caractérisation des fonctions logarithmes par leur équation fonctionnelle, qui affirme en particulier l'égalité ln( ab) = ln a + ln b. On additionne donc les logarithmes de a et de b, avant de rechercher le nombre dont on a ainsi obtenu le logarithme. La multiplication utilisant les logarithmes est appropriée lorsque le besoin de vitesse est capital, que le stockage important de nombres est impossible ou lorsque l'accès à des moyens de calculs électroniques est impossible. C'est aujourd'hui une situation exceptionnelle; c'est pourquoi cette méthode n'est pratiquement plus utilisée; on lui préfère une méthode plus rapide, la multiplication utilisant la transformée de Fourier rapide, que nous abrégerons en multiplication TFR. C'est à ce jour la méthode la plus rapide pour effectuer des produits de nombres longs, c'est pourquoi elle est employée dans tout les grands calculs de 7r. Nous allons à présent la décrire en détail. Pour atteindre son but en un temps réduit, la multiplication TFR fait le détour par une transformation, la transformation de Fourier (TF), ou plus exactement par une variante appelée la transformation de Fourier rapide (TFR). La transformation de Fourier fut découverte par le mathématicien français Joseph Fourier (1768-1830) qui l'utilisa pour la première fois dans son célèbre
La multiplication par transformation de Fourier rapide (TFR)
141
traité Théorie analytique de la chaleur publié en 1822. Il s'en servait pour analyser des séries. Depuis, cet outil est d'usage constant dans les sciences appliquées. On fait généralement remonter la transformation de Fourier rapide à l'article de J. Cooley et J. Tuckey publié en 1965, dans lequel ces auteurs présentaient un algorithme TFR, ce qui à l'époque surprit tous les spécialistes (voir chapitre 13). Plus tard, on se rendit compte que de tels algorithmes avaient déjà été employés et que l'on en retrouvait même des ébauches dans l'IJuvre de C.F. Gauss (1805) [65]. Le diagramme commutatif de la multiplication TFR se présente ainsi
a,b
---+
1
Transformée de Fourier
---+
multiplication
1
produit
1
a x b
F(a), F(b)
f--
Transformée de Fourier inverse
1 f--
F(a) x F(b)
Ce diagramme ressemble beaucoup à celui décrivant la méthode des logarithmes. L'opération de calcul de la transformée de Fourier rapide de a et de b correspond au calcul des logarithmes de a et de b. Le calcul du produit F( a) x F(b) correspond au calcul de ln a + ln b, et enfin, le calcul de la transformée de Fourier rapide inverse de F(a) x F(b) correspond au calcul de l'exponentielle de lna + lnb. Voici la liste des ingrédients indispensables pour la multiplication TFR.
Les polynômes Un polynôme de degré N à une indéterminée x s'écrit sous la forme P(x)
=
N
LPkXk. Les Pk sont appelés les coefficients du polynôme et ici, il s'agira k=O
toujours d'entiers. Comme exemples de polynômes on va utiliser A(x) 8x 3 + 7x 2 + 8x + 9 et B(x) = 4x 2 - X + 2.
=
La multiplication de polynômes La multiplication de polynômes s'effectue comme une multiplication ordinaire par la méthode scolaire (c'est-à-dire terme à terme). Par exemple
142
L'arithmétique en grande précision
A(x) (8x + 7x 2 + 8x + 9) 32x 5 +28x4 +32x 3 -8x4 -7x 3 +16x 3 4 5 32x +20x +41x 3
C(x)
x
3
Si A(x)
=
(4x 2
B(x) - x + 2)
+36x 2 -8x 2 -9x 2 +14x +16x +42x 2 +7x
+18 +18
N
N
L
X
ai xi et si B(x)
L bjxj , la formule générale du produit i=O
i=O
C = AB est
2N
C(x)
=L
k=O
ckxk, avec Ck
=
L
aibj
i+j=k
On dit que la séquence des (Ck) est le produit de convolution linéaire, ou plus simplement la convolée des séquences (ak) et (b k ). Le produit de convolution des séquences ou des suites correspond à la multiplication des nombres réels.
Les nombres peuvent s'écrire comme des polynômes Par exemple, 6789
= 6 x 103 + 7 X 102 +8 X 10 1 +9 x 100 . Plus généralement, le N
nombre dont l'écriture décimale est d N dN-1'" d 2 d 1d o est égal à
L
d k 10
k
.
k=O Ainsi, les chiffres de l'écriture décimale d'un nombre sont les coefficients d'un polynôme P dont l'évaluation en 10 donne exactement la valeur de ce nombre.
La multiplication des nombres est identique à la multiplication des polynômes avec en plus les retenues Le produit de deux nombres peut se déduire du produit des polynômes associés à ces deux nombres. Cependant les valeurs des dk ne peuvent pas être supérieures à 10. Mais, comme les valeurs de Ck ne sont pas limitées à 0,1, ... ,9, on doit tenir compte des retenues. À titre d'exemple, considérons la multiplication 67 x 89, qui donne lieu à trois retenues sur quatre multiplications élémentaires:
La multiplication par transformation de Fourier rapide (TFR)
67 48
ai, bj ai ai
x bl : x bo :
do
11
dl
5
d2
.0
d3
9
5
89
110
63 63 3
56 54
48
Ck
x
6
6
143
La transformation de Fourier, directe et inverse La transformation de Fourier P(a) d'une séquence de chiffres a ao, al, a2,·· ., aN-I est une séquence de chiffres de même longueur âo, âi, â7" .. . ,~, définie ainsi:
aw
=
L
N-I a k (
cos
(
27rwk ------;:;- )
+ i sin
(
27rwk ------;:;- ) )
k=O
N-I
=
L
ake2i7rwk/N
k=O
De même, la transformation de Fourier inverse p-l(a) d'une séquence de chiffres est une séquence de chiffres de même longueur, définie par:
â:;; = ~
N-I
L
ake-2i7rwk/N
k=O
Il faut noter la différence entre les deux transformations liN, et le signe moins dans les exponentielles complexes.
le facteur initial
La mise en œuvre directe de ces définitions de transformations de Fourier conduit à la transformation de Fourier lente. Elle ne demande que deux boucles. Le calcul est exécuté avec des nombres complexes. On trouvera ci-dessous le code C de cette transformation. *************************************************************************** Il sft() transformation de Fourier (lente) Il n taille d'un tableau f, pas obligatoirement une puissance de 2 Il isign : transformation directe (> 0) ou indirecte « 0) **************************************************************************** void sft(Complex *f, long n, int isign) {
Complex *res = new Complex[nJ; const double phO = isign > 0 ? +2.0*M_Pl/n for (long w=O; w
Complex t = 0.0; for (long k=O; k
144
L'arithmétique en grande précision
{ }
}
double phi phO*k*w; t += f[k] * Complex(cos(phi) , sin(phi));
res[w] = t;
for (long k=O; k
f[k] = res[k];
Il back transform requires normalization by n i f (isign < 0)
for (long k=O; k
}
1=
n;
delete [] res;
Il existe deux raisons qui expliquent pourquoi les définitions abstraites de la transformation de Fourier rapide données ci-dessus sont la clé de la multiplication rapide: la première est le théorème de convolution et la seconde est l'existence de techniques de calcul rapide des transformées de Fourier.
Le théorème de convolution: F(a x b) = F(a)F(b). Ce théorème s'applique aux transformées de Fourier. Il affirme que la multiplication habituelle des polynômes (i.e. la convolution des séquences de coefficients dont le temps de calcul est proportionnel à N 2 ) est équivalent à un produit élémentaire des transformées de Fourier des termes initiaux. Le temps de calcul de ce produit de transformées est proportionnel à N. On a aussi Ck = aibj {:} êy = âyby. Autrement dit, en notant a et b
L
i+j=k
les séquences (al, . .. , aN-d et (b 1 , ... , bN - 1 ), et c leur produit de convolution, on a c = F-1(F(a) x F(b)). La multiplication notée « x » doit être effectuée terme à terme. La dernière équation traduit directement la partie droite du diagramme commutatif de la multiplication TFR (11.5). La preuve du théorème de convolution se trouve sur le serveur Vuibert.
La transformation de Fourier rapide (TFR) Le temps de calcul de la transformée d'une séquence de chiffres de longueur N est proportionnel à N 2 . S'il n'y avait aucune méthode plus efficace, la multiplication par transformation de Fourier ne servirait à rien. Heureusement, il y a la transformation de Fourier rapide (TFR), avec ses nombreuses variantes. Au lieu d'un temps de calcul proportionnel à N 2 , elles ont toutes en commun un temps de calcul en NLog 2 (N), c'est-à-dire à peine plus long qu'un temps proportionnel à N. (Pour être précis, la temps de calcul peut être réduit jusqu'à un ordre en NLog 2 (N)Log 2 (Log 2 (N)); c'est le résultat qui figurait dans
La multiplication par transformation de Fourier rapide (TFR)
145
l'article original de Schûnhage et Strassen sur la multiplication rapide des grands nombres [104] de 1971). L'idée fondamentale est la même que celle qui se trouve derrière la méthode de multiplication de Karatsuba : le produit de deux transformées de Fourier de longueur N est ramené à moins de quatre transformées de Fourier de longueur N /2 (avec exactement quatre transformées de Fourier, il n'y a aucun gain). Dans la méthode de multiplication de Karatsuba, le produit de deux nombres de N chiffres est remplacé par trois produits de nombres de longueur N /2. Avec la TFR, on est ramené au produit de seulement deux TFR de séquences de longueur N /2. Ici aussi, le découpage est effectué récursivement jusqu'à ce que l'on arrive à des séquences de longueur 1. Notons cependant que pour les séquences de longueur 1, la transformation de Fourier coïncide avec l'application identique. Ainsi, le calcul des transformées de Fourier se réduit à des divisions succeSSIves couplées à des assemblages convenables des résultats partiels.
La convolution linéaire et périodique Le dernier ingrédient est le passage d'un produit de convolution de suites périodiques à un produit de convolution de séquences. Dans la formule exprimant le théorème de convolution, nous avons omis de mentionner que les indices k doivent être compris comme étant périodiques modulo N : il aurait fallu écrire Ck = aibj {:} Gy = âyby.
L
i+j=k[N]
Pour pouvoir calculer linéairement les produits de convolution, l'astuce est de doubler la longueur des séquences en ajoutant des zéros: on remplace les séquences ao, al,···, aN-l et bo , bl ,··· ,bN-l par ao, al,·· . ,aN-l, 0, 0, ... , et bo, bl , ... , bN - l , 0, 0, ... , O. Que l'on ajoute les zéros à gauche ou à droite est indifférent. La convolution cyclique de ces séquences fournit le même résultat que la convolution linéaire (co, Cl, ... , C2N-2, C2N-d des séquences originales.
°
La multiplication TFR en action Le programme suivant exécute une multiplication complète avec l'aide de la transformation de Fourier rapide.
**********************************************************************
Il Transformée de Fourier Rapide (TFR)
en action
**********************************************************************
#include #include typedef complex<double> Complex;
Il function prototypes: Il fft(): fast fourier transform
146
L'arithmétique en grande précision
void fft(Complex f[], long n, int isign); Il getdigs(): read digits from stdin into array a[] long getdigs(char *s, long base, long a[], long d_max); void print(const char *bla, long a[] ,long n); void print(const char *bla, Complex f[], long n);
Il
see below
Il Il Il
getdigs.cc print.cc print.cc
int mainO
{
cout «
"\nDEMO OF THE FAST FOURIER TRANSFORM MULTIPLICATION\n";
typedef unsigned long Digit; const long nab_max = 1000; Digit a [nab_max], b[nab_max]; Digit base 10; long na, nb; while ( 1)
{
Il
Il Il
max Digit's of each multplier Digit's of the multipliers
Il
length of the multipliers
main loop
Il
1) Read the two multipliers, set-up length values na = getdigs("Multiplicand ", base, a, nab_max); if (na == 0) break; nb = getdigs("Multiplicator", base, b, nab_max); if (nb == 0) break; long nc = na + nb; Il length of result array c long nf; Il length of complex arrays fa, fb
Il Il
2) Find nf smallest power-of-2 >= nc In case of sft(): letting nf = nc; would suffice. for (nf 2; nf < nc; nf += nf)
Il Il
Il
Il Il Il Il
cout « "Base=" « base « ", na=" « na « " nb="« nb « ", nc=" « nc « " nf="« nf « endl; 3) Copy a[] to complex array fa[], also b[] to fb[]. Justify left, pad with zeros to the right: Complex *fa = new Complex[nf]; for (long k=O; k < na; ++k) fa[k] = a[k]; for (long k=na; k < nf; ++k) fa[k] = 0; print("Complex Multiplicand (zero padded right): " fa, nf); Complex *fb = new Complex[nf]; for (long k=O ; k < nb; ++k) fb[k] = b[k]; for (long k=nb; k < nf; ++k) fb[k] = 0; print("Complex Multiplicator (zero padded right): ", fb, nf); 4) Perform fast fourier transforms forward on fa[] and fb[] fft(fa, nf, +1); print("Complex Multiplicand (after forward FFT): ", fa, nf); fft(fb, nf, +1); print("Complex Multiplicator (after backward FFT): ", fb, nf); 5) Multiply elementwise: fa[k] = fa[k] * fb[k] for (long k=O; k < nf; ++k) fa[k] *= fb[k]; print("After elementwise complex multiplication' ", fa, nf); 6) Perform fast fourier transform back incl. normalization: fft(fa, nf, -1); print("Complex Product (after backwards FFT) :", fa, nf); 7) Copy result in fa[] to a real array c[]: Digit *c = new Digit [nc] ; for (long k=O; k < nc; ++k) c[k] = (Digit) (fa[k] .real()+0.5); print ("Real Product ", c, nc); 8) Shift right by one; the least significant digit is c[nc-2] for (long k=nc-2; k>=O; --k) c[k+l] = c[k];
147
La multiplication par transformation de Fourier rapide (TFR) c[0] = 0;
Il
print (" After right shift by one 9) carry operation: for (long k = nc-1; k >= 1; --k) {
}
"
c, nc);
return 0;
}
Il Il Il Il Il
c, nc);
Digit carry c[k] 1 base; c[k] carry * base; c[k-1] += carry;
print("Final Product (after carry operation) cout « endl; delete [] fa, fb; delete [] c;
}
"
fast fourier transform (radix2, decimation in frequency) length of array f, must be a power of 2 determines forward (> 0) or backward « 0) transform
fftO n
isign
void fft(Complex f[], long n, int isign) {
double pi = isign >= 0 ? +M_PI : -M_PI; for (long m=n; m > 1; m {
1=
2)
long mh = m 1 2; double phi = pi 1 mh; for (long j=O; j < mh; ++j) {
double p Complex cs
phi * j; Complex(cos(p), sin(p));
for (long t1=j; t1 < j+n; t1 += m) { Complex u = f[t1]; Complex v = f[t1+mh]; f[ti] = u+v; f[t1+mh] = (u-v) * cs; }
}
}
Il data reordering: for (long m=1, j=O; m < n-1; ++m) {
for (long k=n»1; (!«j-=k)&k)); k»=1) if ( j > m ) Il SWAP(f[m], f[j]); {
Complex t = f[m]; Hm]
} }
}
{;}
Hj]
Hj] ; t;
if ( lSlgn < 0) Il normalise if backwards transform for (long k=O; k < n; ++k) f[k] 1= n;
Nous avons décrit dans les sections précédentes la fonction sft qui calcule
148
L'arithmétique en grande précision
la transformée de Fourier. Dans ce programme-ci, au lieu de la fonction 8ft, on se sert de la fonction fft, qui calcule la transformée de Fourier rapide. Son code source est donné ci-dessus. Pour comparer les différentes versions de la transformation de Fourier, on notera que la longueur des tableaux complexes doit être une puissance de 2 (la plus petite qui majore na + nb), parce qu'ainsi qu'on l'a déjà dit, la vitesse est obtenue par des divisions successives par 2 de la longueur des multiplicandes. Après transformations directes et inverses, les résultats sont décalés d'un chiffre vers la droite parce que la transformation laisse vide l'emplacement le plus à droite (le produit de convolution des chiffres en position i et j prend place en position i + j, tandis que le produit de convolution des termes les plus à droite, en position na - 1 et nb - 1, prend place en position na + nb - 2). Enfin, on prend en compte les retenues. Les explications précédentes et les commentaires contenus dans le programme lui-même devraient le rendre facile à suivre et à comprendre.
Comparaisons La transformation de Fourier rapide communique sa rapidité à la multiplication TFR, au cours de laquelle elle est invoquée trois fois. Pour cette raison, le temps d'exécution des multiplications TFR croît seulement proportionnellement à Nlog 2 N, où N est la longueur du multiplicande. Plus N croît, plus l'effet est important, comme l'illustre le diagramme suivant:
temps
multiplication scolai
c. N1. 583
c'· NlogN longueur de l'opérande Ce diagramme montre clairement la supériorité de la multiplication TFR sur la méthode de multiplication de Karatsuba et sur la méthode scolaire. Dans notre exemple de la multiplication de deux nombres de N - 1 million de chiffres, le nombre de multiplications élémentaires est réduit de 1 milliard
Division
149
à environ 20 millions (= Nlog 2 N). Le temps d'exécution passe alors de plus d'un jour à seulement 3 secondes. La méthode TFR bat la méthode de multiplication de Karatsuba (déjà assez rapide) d'un facteur 100. (On pourra se rendre compte de ces différences en faisant tourner le programme de démonstration placé sur le site Internet de Vuibert).
4
Division
Telle qu'elle est enseignée à l'école, la méthode de division est inappropriée pour une division de nombres longs u et v. Mieux vaut la remplacer par deux opérations, en écrivant
u v
1 v
- = u·-
(11.6)
Nous avons déjà expliqué en détail comment effectuer une multiplication. Pour l'inversion v ----7 ~ de nombres longs, la méthode employée aujourd'hui encore est celle conçue il y a plus de 300 ans par Isaac Newton (1642-1727) pour déterminer les zéros des fonctions. Sous réserve que certaines hypothèses de continuité soient vérifiées, la méthode de Newton permet d'évaluer numériquement un zéro d'une fonction f. C'est une méthode itérative, fournissant par récurrence une suite (xn) de réels convergeant vers un zéro de f. La relation de récurrence est (11. 7)
f(xn)
Xn+l
= Xn - f'(xn)
En partant d'une première approximation Xo vérifiant f(xo) peu éloigné de 0, l'algorithme de Newton fournit une suite (xn) convergeant vers un zéro de f, sous réserve que certaines hypothèses soient vérifiées. Ce qui est étonnant dans la méthode de Newton c'est qu'elle converge à vitesse quadratique et surtout qu'elle est auto-correctrice. À chaque itération le nombre de décimales correctes double, et cette augmentation de précision est préservée en dépit de l'approximation du terme précédent. Il suffit que dans cette approximation la première moitié des décimales soient correctes. Dans notre cas, la fonction la plus simple dont l/v soit un zéro est v - l/x. Comme f'(x) = -;}x, la formule d'itération est
f :x
~
(11.8)
Cette formule ne fait intervenir que des additions et des multiplications. On peut donc l'utiliser (si la formule avait demandé des divisions, elle n'aurait,
150
L'arithmétique en grande précision
bien sûr, pas convenu). Si Xi donne les m premières décimales de l/v, alors les 2m-1 premières décimales de Xi+l sont exactes. Normalement on continue le processus itératif jusqu'à obtenir une approximation à la précision souhaitée, c'est-à-dire en pratique jusqu'à obtenir xi(l - VXi) < E, si E est la précision recherchée. Ici, l'expression (11.8) est calculée comme elle est écrite, et non sous la forme Xi+l = xi(2 - VXi). En effet, le terme 1- VXi est si petit que la moitié gauche de son écriture décimale est constituée de zéros. On s'occupe donc seulement de la deuxième partie de ce développement. Voyons ceci sur un exemple: Supposons que nous voulions calculer les huit premiers chiffres de l'écriture décimale de l/v = 1/7 = 0.14285714 ... Prenons Xo = 0.1 comme valeur initiale. On obtient
k
Xi
xi(l - VXi)
Xi+l
Nombre de décimales correctes
0
0.1
0.03
0.13
1
1
0.13
0.0117
0.11417
2
2
0.1417
0.0011477
0.14284777
4
3
0.14284777
0.00009372
0.14285714
8
On remarquera qu'avec seulement trois itérations, on a déjà 8 décimales exactes. Pour évaluer le temps de calcul, on va, pour simplifier, supposer que la première approximation, au début de l'itération, fournit une décimale correcte, et que l'on souhaite obtenir 2k décimales correctes à la fin du processus. Pour cela, il faut donc effectuer k itérations, qui fourniront successivement 1,2,4,8, ... ,2k-l décimales correctes. Comme L7~~ 2i = 2 k - l, et que l'on effectue uniquement des multiplications dont le temps de calcul est pratiquement proportionnel à la longueur des termes multipliés, on va avoir en pratique à effectuer l'équivalent de 3 multiplications de nombres de longueur 2k . Cette évaluation ne tient pas compte des opérations de lecture et d'écriture des données à chaque étape, ni des additions. L'expérience montre que, tout confondu, on arrive à un temps de calcul réel de l'ordre de 4 multiplications de nombres de longueur 2k .
5
Racines carrées
Ainsi qu'on peut le constater dans les formules itératives modernes pour le calcul de 'if, par exemple dans la formule MAG de Gauss, chaque itération demande le calcul d'au moins une racine carrée.
151
Racines carrées
Autrefois, on enseignait au lycée une méthode d'extraction des racines carrées « à la main». On dispose maintenant de méthodes beaucoup plus efficaces.
La méthode itérative de Newton sans division La fonction la plus simple à laquelle on pourrait penser pour appliquer la méthode de Newton afin de déterminer la racine carrée d'un réel positif d est x ~ x2 - d. La formule itérative que l'on aurait alors à appliquer est x2 - d X n +l = X n n , et l'on aurait une division à effectuer à chaque étape.
2x n
VdJ
Pour éviter cela, on utilise une autre fonction, qui fournit non pas mais I/Vd. Il suffit, ensuite, d'effectuer une multiplication par d pour obtenir La fonction utilisée est x ~ l/x 2 - d. La formule itérative s'écrit alors
VdJ.
(11.9)
X n +l
On arrête les itérations lorsque chée.
=
Xn
Xn
+Xn
1- dx2 2 n
1 - dx21
2
n
< c, où c est la précision recher-
1
La suite (xn) converge quadratiquement, comme dans une division de nombres longs. Encore une fois, il est possible de réduire la quantité de calculs en ne s'intéressant qu'aux chiffres qui sont réellement nécessaires. En adoptant cette approche, le calcul de 1/ Vd prend à peu près le même temps que trois multiplications longues. Le calcul de Vd lui-même entraîne une autre multiplication longue.
Itérations de Newton couplées Arnold Schonhage trouva une méthode beaucoup plus efficace en partant d'une idée apparemment moins bonne [104, p. 257]. Sa méthode de calcul de la racine carrée Vd prend comme point de départ la fonction que nous avions vue plus haut, et qui conduit à une division à chaque étape lors de l'itération de la méthode de Newton. Il s'agit de la fonction f définie par f(x) = d - x2. La formule de récurrence de l'algorithme de Newton est
(11.10)
X n +l
=
Xn
+
d - x2 2 n Xn
Ainsi que nous l'avons vu plus haut, chaque étape de la récurrence demande une division. L'astuce de Schonage fut de remplacer le X n du dénominateur par le produit d'une approximation de l/x n calculée par la méthode de
152
L'arithmétique en grande précision
Newton pour le calcul de l'inverse d'un nombre. En raison de l'intervention de deux formules itératives tirées de la méthode de Newton, la méthode de Schonage est connue sous le nom d'itérations de Newton couplées. Miraculeusement, cette méthode est plus efficace que la méthode de Newton simple décrite plus haut. Cette double itération fonctionne comme suit.
Algorithme de racine carrée par méthodes de Newton couplées Initialisation Xo proche de Vo
Vd
= 1/ 2x o
Itération
+ (1 := Xi + (d -
Vi+l := Vi
2XiVdVi
Xi+!
xT)Vi
1/2Vd) (--7 Vd) (--7
Cet algorithme remplace une division par une approximation V n de l'inverse de X n . Le temps de calcul d'une itération est à peu près le même que celui de 7/3 de multiplications longues, en pratique de 3 multiplications longues. Voici ci-dessous un programme Mupad mettant en IJuvre cet algorithme. Sqrt_Coupled_Newton := proc(d, n) Il assume d >= 0, n >= 1 local m, g, h, x, e, f, t; Il v is static! begin t := DIGITS; Il save global precision if n <= 2 then DIGITS := n; x := sqrt(d); Il Initial value of x DIGITS := t; return(x); end_if ; m := floor(n/2)+1; x := Sqrt_Coupled_Newton(d, m); DIGITS := m; if m <= 2 then v
1/(2*x);
else g 1 2*x*v; h g * v; Il v from the previous iteration v .= v + h; Il now v is of precision m end_if ; DIGITS .- n; e d x-2; f := e * v; x x + f;
153
Racines n-ièmes
DIGITS := t;
Il restore global precision return(x); end_proc:
6
Racines n-ièmes
Certains algorithmes de calcul de 1f font appel à des racines n-Iemes, où n > 2. L'entier n est généralement constant, petit, de sorte qu'il est possible d'utiliser dans chaque cas un algorithme particulier propre à cet entier n. Il existe une procédure générale qui permet de construire pour tout n un algorithme de calcul de la racine n-ième d'un réel d, et cette méthode générale permet également de choisir la vitesse de convergence dudit algorithme. Dans chaque cas, on calcule dans un premier temps l'inverse d'une racine n-ième, celle non de d, mais de dn - 1 ; la racine cherchée s'obtient alors par la formule
\Id =
(11.12)
.d=_l_.d
1
yldn -
V75
1
où l'on multiplie la racine n-ième calculée par d. Le point de départ pour cette classe d'algorithmes est l'identité
1
(11.13)
x
V75 x
(avec y
= 1-
xnD)
En écrivant le dernier terme comme une série de Taylor, on obtient
(11.14)
_1_
V75
=
x(l
+ li. + (1 + n)y2 + (1 + n)(l + 2n)y3 + ... n
2n 2
+ (1 + n)(l + 2n) ... (1 + (k -
6n 3
l)n)yk
+ ... )
k!n k La formule itérative pour un algorithme dont la vitesse de convergence est d'ordre k s'obtient en tronquant la série de Taylor à l'ordre k. Notons
(11.15)
154
L'arithmétique en grande précision
Voici par exemple la formule itérative pour une convergence quadratique vers l'inverse de la racine carrée de d (n = 2 et D = d).
(11.16) On reconnaît précisément la formule d'itération (11.9) que nous avons vue dans la section précédente. La table suivante regroupe les formules concernant les cas de convergence quadratiques et cubiques pour les racines carrées et cubiques.
Ordre de convergence 2
3
\}â
\/â
D= d"2 Yi = (1 -
D= d Yi = (1 - x; D) Xi+l = xi(l +~)
Xi+l
--
xi(l +~)
Xi+l
--
xi(l
2
+ ~ + 3~)
Xi+l = Xi(1
xr D) 2
+ Iff + 3~ )
De cette façon on dispose d'un large choix de méthodes efficaces pour le calcul des racines n-ièmes.
7
Calcul de sommes de séries
Le calcul numérique de la somme d'une série convergeant lentement est une tâche difficile à laquelle le praticien se trouve souvent confronté. La série de Leibniz de limite 7r / 4 est un cas célèbre d'une telle série.
(11.17)
7r _
-
4
Loo (_l)k -k=O
2k + 1
Elle converge si lentement qu'il ne faut additionner pas moins de IOn termes pour obtenir n décimales exactes. C'est d'autant plus surprenant qu'il y a un algorithme qui accélère de manière spectaculaire la vitesse de convergence de cette série. Avec cet algorithme il est par exemple possible d'obtenir 1 000 décimales exactes en additionnant seulement 1 307 termes, au lieu de 100 000. Mieux encore: l'usage de cet algorithme d'accélération ne se limite pas à la série de Leibniz; il fonctionne en réalité avec toute série alternée convergente. Pour des raisons pratiques, on en restreint l'usage aux séries dont les termes sont faciles à calculer, et pour une précision limitée à environ 100 décimales.
Calcul de sommes de séries
155
Cet algorithme étonnant fut développé par Henri Cohen, F. Rodriguez Villegas et Don Zagier [42J. Dans leur article, les auteurs décrivirent toute une classe d'algorithmes applicables à de nombreuses situations. Nous nous limiterons ici à l'un des plus élégants, qui a été surnommé sumalt. Le point crucial de leur découverte est l'existence de coefficients universels, indépendants de la série à calculer, au moyen desquels la convergence de la série peut être considérablement accélérée. L'algorithme consiste à remplacer la somme partielle Sn = L~:6 ak de la série alternée L ak par une somme combinaison linéaire de ao, al,·" ,an-I affectés de coefficients universels
C~~k, où les
cn,k et les dn sont des entiers.
Voici un tableau donnant les coefficients pour les premières valeurs de n.
n
dn
cn,o
1
3
2ao
2
17
16ao
SaI
3
99
9Sao
SOal
4
577
576ao
544aI
Cn,1
Cn ,2
Cn ,3
12Sa3
Les coefficients ne dépendent pas des ak, mais seulement du nombre de termes n, et du seuil de précision recherché pour évaluer la somme de la série. Pour une classe importante de séries L ak, l'erreur relative est d'environ (3 + Vs)-n ~ 5, S2S- n , de sorte que pour obtenir une précision relative de D décimales, il suffit de prendre n = 1.31D. Les coefficients cn,k sont obtenus par itération en utilisant une variable auxiliaire bn,k.
(l1.1S)
bn,n-I := 22n -
(11.19)
Cn,n-I := bn,n-I
(11.20) (11.21)
(2k + l)(k + 1) bn,k-I := bn ,k (n _ k)(n + k) 2 Cn,k-I := Cn,k
1
(k = n -l,n -1, ... ,1,0)
+ bn,k-I
Nous allons nous démarquer de l'article original en calculant les coefficients Cn,k de k = n - 1 à k = -1, puisque, dans cet ordre, le calcul est plus facile,
156
L'arithmétique en grande précision
car on élimine un calcul de racine carrée. De plus, le terme d n , par lequel le résultat final doit être divisé, est égal au dernier Cn-l calculé. Ci-dessous un petit programme Mupad qui vient montrer la simplicité de cet algorithme. sumalt := proc(n) local b,c,k,s; begin b := 2-(2*n-l); c := b; s := 0;
Il Il Il
variable temporaire c(n,k)
b(n,k)
for k from n-l downto 0 do t := (-l)-k 1 (2*k+l); Il terme de Leibniz, en général s := s + c * t; b := b * ((2*k+l)*(k+l))/(2*(n-k)*(n+k)); c := c + b; end_for; s := sic; Il enfin c(n,k) =d(n) return( s );
a(k)
La table suivante permet de voir l'amélioration que cet algorithme apporte
à la convergence de la série de Leibniz.
n
sumalt(n)
nombre de places exactes (D)
1
0,66666 66666 66666 66666 66666 66666
0
2
0,78431 37254 90196 07843 13725 49019
2
5
0,78539 66366 00918 49208 70915 51855
5
10
0,78539 81634 52432 89232 97023 43038
9
20
0,78539 81633 97448 30992 06676 87680
18
30
0,78539 81633 97448 30961 56608 48818
26
7f/4
0,78539 81633 97448 30961 56608 45819
30
En additionnant simplement 30 termes de la série de Leibniz, on a obtenu 26 décimales exactes, alors qu'un calcul direct aurait requis l'addition de 1030 termes de cette série. Sur notre PC, le calcul par cette méthode de 1 000 décimales n'a pris que deux secondes.
12 Questions diverses 1
Un questionnaire sur
1f
Une des rares femmes active sur la scène de 7r, s'appelle Ève A. Andersson. Elle a mis sur Internet un questionnaire intitulé « Le Jeu de devinettes sur 7r» (The Pi Trivia game) qui nous donne « l'occasion de rendre hommage à cet extraordinaire nombre transcendant qui nous a tous séduit». Le jeu comporte 25 questions extraites de la « base de données de questions sur 7r» créée par Ève Andersson. Le test entier est trop long pour être reproduit intégralement ici, mais en voici quelques questions. 1. Considérons la suite d'entiers naturels, construite en prenant successi-
vement les premiers chiffres du début du développement décimal de 7r : 3,31,314,3141,31415 ... Parmi les 1 000 premiers termes de cette suite, combien sont premiers?
a) 48
b) 34
c) 4
d) 21
e) 58?
2. Si l'on devait trouver la circonférence d'un cercle entourant l'univers connu, avec une précision égale au rayon d'un proton, combien de décimales de 7r faudrai t-il ? a) 2 millions
b) 39
c) 11
d) 48 000
e) 300
3. Parmi les chiffres de 7r connus actuellement, les concentrations de chacun des chiffres de a à 9 sont sensiblement égales. Cependant, l'un des chiffres manque dans la liste des trente premières décimales. Lequel?
a) 7
b) 2
c) 0
d) 8
e) 6
Les solutions sont 1. c), 2. b), 3. c) La plupart des gens sont surpris par la réponse à la premlere question. Parmi les 1 000 premières séquences initiales de 7r il y a seulement quatre
158
Questions diverses
nombres premiers, qui surviennent au début de la liste : 3,31,314159 et 3 141 592 653 589 793 238 462 643 383 279 502 884 1. On ignore s'il existe
d'autres nombres premiers dans la suite des séquences initiales des décimales de 7r. Tout ce que l'on sait, c'est qu'hormis les quatre que l'on vient de voir, il n'yen pas d'autres dans les 5 000 premières séquences.
2
Il faut laisser les nombres parler
« Si vous fixez un nombre longtemps, le nombre finira par vous parler». Cette conviction de Dario Castellanos est énoncée dans son article The Ubiquitous 7r [41] daté de 1988, qui contient une collection de résultats numérologiques qu'il a constituée au fil du temps.
1. Il est bien connu que la fraction 355/113 est une bonne approximation (à 10- 6 près) de 7r. L'approximation de fo donnée par la faction 553/(311 + 1) est moins connue. Elle présente la particularité d'être presque égale à l'approximation de 7r écrite à l'envers.
(12.1)
553
fo ~ -3-11-+-1
2. L'approximation suivante de fo contient une version arrondie des 6 premières décimales de 7r (3, 141593) :
(12.2)
yJr
~ (~)2 14
193 5
3. T.E. Lobeck a découvert une propriété magique de 7r. Dans le tableau de nombres suivant, le carré de gauche est un carré magique ordinaire d'ordre 5 x 5. Les sommes des termes de chacune de ses lignes, de chacune de ses colonnes, et celle de ses diagonales sont toutes égales à 65. Si l'on remplace chaque valeur n de ce carré par le n-ième chiffre du développement décimal de 7r, on obtient un nouveau carré de nombres. Dans ce carré, chaque somme des termes d'une ligne est égale à la somme des termes d'une colonne.
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
-----+
2 6 1 3 5 (17)
4 5 9 8 3 (29)
3 2 9 8 3 (25)
6 7 4 6 1 (24)
9 3 2 4 5 (23)
(24) (23) (25) (29) (17)
Une « preuve» que
3
7r
=
159
2
Une« preuve» que
7r
=
2
Considérons la séquence suivante de demi-cercles:
1/2
1
1 1/2
2Zé 4
=
Zé 2
1 La figure k, (k E l'ii), comporte 2 k demi-cercles, de rayon 2k+l' La longueur 7r
7r
.
totale de ces demI-cercles est 2 2k+l = "2' et la sUIte de courbes dont les images sont la réunion de ces demi-cercles « converge» vers le segment de longueur l. Si la longueur d'une limite était égale à la limite des longueurs, on aurait donc 7r = 2 ... .
4
k
Le grand changement
Extrait d'un manuel de FORTRAN de la société Xerox : « Le but principal de la déclaration de données est de donner des noms à des constantes. Au lieu d'écrire 3.141592653589793 chaque fois qu'un programme utilise 7r, on peut attribuer cette valeur à une variable appelée PI déclarée dans la section idoine, et l'employer alors telle quelle. Cela simplifie aussi l'écriture dans le cas où la valeur de 7r serait amenée à changer. »
5
Presque mais pas tout à fait
Une des séries des plus célèbres définissant
7r
est la série de Leibniz:
(12.3) Cette série est aussi notoire pour sa convergence médiocre qui la rend inadaptée aux calculs de 7r. Après le n-ième terme, l'erreur est encore de ~. Ainsi, pour obtenir 100 décimales exactes de 7r, par exemple, on devrait avoir ~ = 10~100, soit n = 10 10 nombre plus grand que le nombre de particules dans l'univers.
°,
Questions diverses
160
Et pourtant, cette sene possède une propriété très curieuse : certaines sommes partielles donnent un premier chiffre faux, puis un paquet de chiffres corrects, puis un chiffre faux, puis un paquet de chiffres corrects ... Par exemple, considérons la somme des 50 000 premiers termes
(12.4)
4
50000
L
(-1 )k-l 2k _ 1 = 3.14157 2653589795 2384626423 8327950 ...
k=1
tandis que
1f
= 3.14159 2653589793 2384626433 8327950 ...
Dans cette somme partielle, les quatre premières décimales sont correctes, la cinquième est fausse, ce qui est normal puisqu'on a calculé 50 000 termes; on trouve ensuite 9 chiffres corrects, un chiffre faux, 8 chiffres corrects. Ainsi, sur les 33 premières décimales, seulement 3 sont fausses. Un habitant de Colorado Springs, aux États-Unis, attira l'attention des frères Borwein sur ce phénomène. Celui-ci avait aussi été remarqué en 1982 par Martin R. Powell après un calcul de 13 heures et 30 minutes sur un ordinateur de son école (voir [93]). Les Borwein et leur collègue K. Dilcher se penchèrent sur ce phénomène et en trouvèrent l'explication mathématique. [35] . Le phénomène est lié à la forme particulière du reste, donné par la formule d'Euler-Mc Laurin pour une série alternée [35]. Lorsque N est un multiple de 4, on peut écrire
Ici les numérateurs 2,2,10, 122,2770,101042, ... sont les 2E2m , où les Em sont les nombres d'Euler. Si l'on prend N = 105 dans la formule (12.5), les quatre premiers termes du développement d'Euler-Mc Laurin du reste sont 2 10- 5 , -2 10- 15 ,10- 24 et -1.22 ... 10- 33 . Il s'ensuit que les cinquième et quinzième décimales sont fausses, avec un écart de -2, que la vingt-quatrième décimale est fausse, avec un écart de +1, mais que les autres trente trois premières décimales sont correctes. Depuis l'article ayant expliqué cela, le sujet a été approfondi. Ainsi apprendon dans [5] que la formule asymptotique (12.5) s'obtient très simplement avec les logiciels de calcul formel. Voici par exemple une instruction Maple fournissant cette formule : asympt(simplify«sum(-4*(-1)**j/(2*j-1),j=1 .. n/2)-Pi)
161
Et pourquoi toujours plus?
/(-1)**(n/2+1)) ,n,8) ;
Avant cette découverte, les frères Borwein et Dilcher suggérèrent dans leur article que ce phénomène illustrait la supériorité de l'homme sur l'ordinateur, mais ce nouveau résultat remet en cause cette assertion. Pour être juste, on doit dire que le phénomène découvert par North n'apparaît que lorsque N est une puissance de 10. Si par exemple on ajoute ne serait-ce qu'un seul terme à la somme partielle (12.4), le résultat est assez différent:
(12.6)
4
50001 (_1)k-1
L
2k _ 1
k=l
tandis que
7r
= 3.14161
26531 89799
23842 26427
83275 50 ...
= 3.14159
26535 89793
23846 26433
83279 50 ...
Maintenant huit des trente-trois premières décimales sont différentes de celles de 7r.
6
Et pourquoi toujours plus?
Pourquoi chercher toujours plus de chiffres plutôt que moins? Voilà sans doute ce qu'avaient à l'esprit quatre mathématiciens chinois en 1996? Cette année-là, Wei Gong-yi, Yang Zi-quiang, Sun Jia-chang et Li Jia-kai du Centre informatique de l'Académie chinoise à Pékin, publièrent un article intitulé Le calcul des la 000 000 premières décimales de 7r [60]. L'article faisait le tour des problèmes qu'ils avaient rencontrés et surmontés. Parmi les références bibliographiques, on trouve un article qui semble familier, Le Calcul des 29 360 000 premières décimales de 7r par David Bailey, 1988. Est-ce à dire que le progrès ne va-t-il pas toujours dans le même sens?
7
7r
et les hypersphères
Un disque de rayon r a une aire égale à 7rr 2 , et une boule de rayon r a un volume égal à ~7rr3. Dans les deux cas, 7r est en facteur d'une puissance de r égale à la dimension de l'objet dont on exprime le volume dans cette dimension, et d'un coefficient. Cette structure de formule est tout à fait générale. En effet, notons Bn la boule unité de ]Rn, V n son volume (en dimension n). Pour tout réel r > 0, notons aussi Bn(r) la boule de centre et de rayon r de ]Rn, et vn(r) son volume en dimension n. Donc, Bn = Bn(1), et V n = v n (1).
°
Raisonnons par récurrence. Soit n E N, avec n ? 2. Supposons avoir établi que, pour tout entier k E {2, ... , n - 1}, il existe un réel ak tel que, pour tout réel r > 0, vk(r) = akrk. On a alors
162
Questions diverses
Ainsi vn(r) = anr n , avec an = 2a n _lr n - l
r
i[O,l]
(x
f---+
(~)n-l).
Soit f : x f---+ (yT-=-;:2"jn-l définie sur l'intervalle [0, 1], et soit 'P : [0, 7r /2] -----+ [0,1], définie par x f---+ sinx. La fonction, 'P est de classe Cl et (f 0 'P)(x) = (cosx)n-l, 'P'(x) = cosx. On en déduit que
cette dernière intégrale peut se calculer directement en exprimant cos n à l'aide des exponentielles complexes, et par linéarisation. On peut également déterminer une relation de récurrence entre les nombres (an) déduite de la relation de récurrence In
=
l
[O;7r /2]
cos
n
n - 1 =-
n
l
[O;7r /2]
cos
n-2
=
n - 1 --In-2 n
On trouve ainsi
7r
h="4'
2
h= 3'
De même pour le calcul de Vn (r),
l
_ 37r 16'
4 -
VI (r)
8
h = 15'···
= 2r, V2 (r) = 7rr 2 entraînent que
Plus généralement, V2n () r
1 n 2n = ,7r r , n.
V2n+l (r )
22n+l n.,
n
= (2n + 1)! 7r r
2n+l
On peut, de même, calculer l'aire en dimension (n - 1) de la sphère Sn-l (r),
Jr
163
et les hypersphères
qui est le bord de Bn(r). On trouve que son aire vaut An
n
= -vn(r). r
Le tableau suivant regroupe les valeurs numériques des premiers volumes et aires associées Dimension k 1 2 3 4 5 6 7 8 9 10 20 100
Volume Vk(r) 2r Jrr 2 Jrr 3 . 4/3 Jr 2 r 4 /2 2 5 Jr r ·8/15 Jr3 r 6/6 Jr3 r 7 . 16/105 Jr 4 r 8/24 4 9 Jr r . 32/945 Jr5 r l0 /120 lO 20 Jr r /10! Jr50 r l00 /50!
V k (l) 2.0 3.14 4.19 4.93
15.261 5.17 4.72 4.06 3.30 2.55 0.0258 2.10- 40
Aire Ok(r) 2 Jrr/2 Jrr 2 ·4 Jr 2 r 3 . 2 Jr 2 r 4 ·8/3 Jr3 r 5 Jr3 r 6 . 16/15 Jr 4 r 7/3 4 8 Jr r ·32/105 Jr5 r 9/12 lO 19 Jr r /1O! Jr 5O r 99 /5O!
Ok(l) 2.0 6.28 12.57 19.74 26.32 31.01 133.071 32.47 29.69 25.50 0.516 2.10- 38
On voit que le volume de la boule unité En (pour r = 1) est maximal quand la dimension n est égale à 5, puis que (v n ) est décroissante. En fait la limite de la suite (v n ) est nulle. Pour s'en faire une idée, voyons comment «découper» une sphère dans le cube [-1, l]n. Ce cube possède 2 n sommets, et pour approcher la sphère, on va « donner un coup de ciseau» le long de chaque diagonale aboutissant à un sommet, « au ras» de la sphère, donc en un point dont les n coordonnées sont de la forme ±1/ yn. Mais ... les composantes de ce point tendent vers O. Les 2 n « coup de ciseau» sont donc donnés selon chaque coordonnée de plus en plus près de 0, ce qui explique intuitivement que le volume de la sphère de dimension n tend vers O. Cette suite tend même vers 0 suffisamment vite pour que la série associée soit convergente. En effet, si l'on additionne les volumes des boules de dimensions paires, on trouve une formule remarquable: 00
(12.7) et curieusement, la somme de la série des volumes et celle de la série des aires sont presque entières :
00
(12.8)
L vk(l) = e k=l
1r
(1
+ erf( fi)) = 45.999326 ...
164
Questions diverses
00
(12.9)
LAk(l)
= 2(1 + 7fe (l + erf(J1f))) = 291.0222 ... 1r
k=l
,
ou erf( J1f)
=2
00
(_l)k7fk
L k!(2k + 1)'
k=ü
Cela est-il fortuit? Enfin, on pourrait présumer que les formules des volumes des objets tridimensionnels usuels font intervenir 7f à la puissance 1. C'est le cas de la sphère et du cylindre, mais pas celui du tore dont le volume est donné par 2Rr 2 7f2.
8
Viète x Wallis == Osier
Curieusement, alors que presque toutes les formules infinies concernant 7f sont des séries, les deux premières formules découvertes furent des produits infinis. Ce sont les célèbres produits de François Viète (1540-1603), datant de 1593
~+~J~+~ fI ... 2 2 2 2V2
(12.10)
et de John Wallis (1616-1703), datant de 1655
(12.11)
2 7f
1·3 3·5 5·7 7·9 2·2 4·4 6·6 8·8
Bien que ces produits soient vieux de plusieurs siècles, ce n'est que très récemment que l'on a découvert une formule englobant et reliant ces deux formules historiques sur 7f. En 1999, Thomas OsIer a démontré la formule suivante [88]
(12.12)
Viète x Wallis = Osier
165
Ici chacun des deux produits historiques apparaît comme un cas particulier d'un produit double plus général. La première partie de (12.19) donne les p premiers facteurs du produit de Viète (12.17), tandis que la seconde partie est un produit « à la Wallis» (12.18). OsIer le décrit ainsi car lorsque p = 0 on retrouve exactement le produit de Wallis (12.18) ; et lorsque p n'est pas nul, ce produit ressemble beaucoup à celui de Wallis, car il ne manque que quelques termes partiels. De plus, lorsque p tend vers l'infini, le produit d'OsIer tend vers celui de Viète. Dans les cas intermédiaires p = 1,2, ... , on obtient une combinaison des deux produits de Viète et de Wallis.
- - . - - . - - . - - ...
(produit de Wallis)
2 -_ ~ 3·5 5·7 7·911·1315·17 -. - - . - - . - - - - - - - - ... 7r 2 4·4 6·6 8· 8 12 . 12 16 . 16
p=1
-
p=2
V"2
p
1·3 3·5 5·7 7·9 2·2 4·4 6·6 8·8
2
p=o
fi..
.J~ 2
~ fi... 7· 9 . 11 . 13 . 15 . 1? ..
+ 2 V"2
8· 8
12· 12
16· 16
(produit de Viète)
----+ 00
Chaque fois que p est augmenté d'une unité, une racine carrée est ajoutée à la partie de la formule correspondant au produit de Viète, tandis qu'un facteur est omis dans la partie correspondant au produit de Wallis. On peut interpréter la partie du produit ressemblant au produit de Wallis comme un terme qui vient exprimer l'erreur de la partie correspondant au produit de Viète. On peut ainsi estimer l'erreur commise dans le produit de Viète quand on tronque le produit infini après p termes: le facteur d'erreur 1
est de l'ordre de 1 + 4P+ 1 ' si bien qu'avec par exemple 25 facteurs on a déjà 15 décimales exactes de 7r. Pour démontrer sa formule, OsIer se servit d'une part des formules de duplication sin x
= 2 sin ~ cos ~,
cos
J
~ = ~ (1 + cos x)
dont Viète s'était servi pour démontrer sa formule, et, d'autre part, du produit infini sinx
=
xfi (1- n~:2) n=l
166
Questions diverses
découvert par Euler 150 ans après que Viète eut établi sa propre formule.
9
La quadrature du cercle avec des trous
Pour continuer avec les produits infinis célèbres en relation avec 7r, mentionnons un superbe article de Hansklaus Rummler (99] . Il donne une explication géométrique simple du produit de Viète
(12.13) Pour tout entier naturel n > 1, soit Tn le polygone régulier standard (c'està-dire celui dont les sommets sont les racines de l'unité) à 2n sommets, et soit Un son périmètre. Avec ces notations, Ul est le diamètre du polygone à deux sommet, soit 4, et lorsque n tend vers l'infini, Un tend vers le périmètre du cercle, soit 27r. Ce que Rummler découvrit, c'est que chaque facteur du produit de Viète est égal au quotient de deux termes consécutifs de la suite (un). le produit de Viète apparaît donc comme un produit amalgamant (12.14) ce qui rend évidente la formule de Viète. Il ne semble pas y avoir de démonstration géométrique simple du produit de Wallis
(12.15)
7r
'4 =
2·4 4·6 6·8 3·3 . 5·5 . 7·7' ..
rr = oo
n=l
(
1 - (2n
1) + 1)2
En revanche, on peut donner une construction géométrique conduisant à ce produit. Voici comment: partager en trois chaque côté d'un carré de côté 1, et en retirer le sous-carré du centre. Dans chacun des huit sous-carrés restants, couper en cinq chaque carré et retirer le sous-carré central de chacun de ces huit sous carrés. Continuer ainsi indéfiniment.
o
• • • • • • 3
012345
·
.•.... ..... ............. . .
· · ............. 0 .. 7
.
L'entonnoir infini
167
L'aire du « carré à trous» qui reste à la fin du processus est égale à 7f / 4. 1 8En effet à la fin de la première étape, l'aire est de 1 - "9 = "9' A la fin de la 8 25 x "9 deuxième étape, elle vaut 24
10
1) (
= ( 1 - "9
1 ) ,et ainsi de suite ... 1 - 25
L'entonnoir infini
La courbe d'équation y = l/x est l'hyperbole usuelle. Considérons la portion de cette courbe correspondant à x E [1, +00[. Si l'on fait « tourner» cette partie de l'hyperbole autour de l'axe des abscisses, on obtient une surface en forme d'entonnoir infini dont le volume est égal à 7f. En effet
v=
r
(x
f--7
7f )
x
J[l,+oo[
2
=
7f,
A =
1
[l,+oo[
(x
27f f--7 - )
x
n'existe pas
y
y=~ x
En soi, cela n'a rien de surprenant. Il faut seulement noter que cet entonnoir est de volume fini, mais de surface infinie. Autrement dit, on peut le remplir, mais pas le peindre!
13 L 'histoire de
7r
L'analyse mathématique du cercle est l'un des plus vieux défis auxquels se soient confrontés les mathématiciens. Dans les plus anciens documents mathématiques, on trouve déjà des règles de calcul de la circonférence ou de l'aire d'un cercle. Au début, 1f = 3. On peut le supposer sans hésitation, car cela correspond à ce que l'on voit au premier coup d'œil. Durant des siècles, cette approximation fut suffisante pour couvrir les besoins, que ce soit par exemple pour la topographie, l'astronomie ou l'architecture. L'histoire réelle de 1f commença seulement lorsque de meilleures approximations de 1f furent découvertes. Cette époque varie d'une culture à l'autre, mais dès le début du deuxième millénaire av. J.-C., de telles approximations furent développées en divers lieux. Depuis lors se sont déroulés 4 000 ans de recherche sur 1f, et en fait aucun autre sujet mathématique ne peut faire remonter son histoire aussi loin.
1
Le symbole
7r
Les premières recherches sur 1f remontent à l'Antiquité, mais le nom de 1f lui-même est relativement récent. C'est seulement au cours du XVIIIe siècle que l'usage se répandit de se référer à ce nombre en le désignant par la lettre grecque 1f. Avant, on devait de décrire ce nombre de manière détournée, par exemple en utilisant une description comme [114, p. 278J quantitas, in quam cum multiplicetur dyameter, proveniet circumferentia (<< la quantité par laquelle il faut multiplier le diamètre pour obtenir la circonférence» ). On attribue à l'Anglais William Jones (1675-1749) l'invention du symbole 1f, parce qu'il l'employa avec son sens moderne dans son Synopsis Palmariarum Mathesos, compilation d'exercices mathématiques publiée en 1706. À la page 263, il donna l'énoncé suivant [68J : ... dans le cercle, le diamètre est à la 16 4 1 16 4 1 16 4 circonférence comme 1 est à - - - - - - x -+--+x - - - -5- ... = 3 3 239 3 53 239 5 55 239 3.14159 ... = 1f
170
L'histoire de
7r
Cependant, ni cet énoncé, ni ceux qui l'accompagnent n'étaient le fruit du travail de Jones. Pour reprendre ce qu'il dit dans l'introduction de son livre, « ils découlent de la plume précise et vraiment ingénieuse de M. John Machin» (1680-1752). Peut-être faudrait-il donc attribuer à ce dernier l'invention du symbole 7r. Quoi qu'il en soit, John Machin est associé à l'histoire de 7r grâce à sa formule d'arc tangente (5.13) et à son calcul des 100 premières décimales de 7r.
Antérieurement à Jones, d'autres auteurs avaient déjà employé la lettre 7r pour désigner diverses quantités liées au cercle. Ainsi, en 1631, l'un des professeurs de John Wallis, William Oughtred (1574-1660), utilisa le symbole 7r. Dans son Clavis Mathematicae il nota ainsi une longueur égale à la moitié de la circonférence d'un cercle; il nota également (j le rayon, lorsqu'il affirma la proportion 7 : 22 = (j : 7r = 113 : 355 [114, p. 302], si bien que notre 7r coïncide avec le sien. Les notations (j et 7r furent aussi employées avec le même sens en 1669 par Isaac Barrow (1630-1678) [41, p. 91]. Durant 30 ans, l'invention de Jone ou, plus probablement celle de Machin, ne fut utilisée par personne d'autre. D'autres symboles furent employés. Ainsi, Jean Bernoulli (1667-1748), employa la lettre latine c et Leonhard Euler (1707-1783) employa d'abord 7r en 1734 puis c en 1736. La renaissance du symbole 7r survint lorsqu'Euler l'employa dans le traité qu'il écrivit en 1736, intitulé Mechanica sive motus scientia analytice exposita. Euler entretenait une abondante correspondance avec les mathématiciens de son temps et, sous son influence, l'usage de la notation 7r se répandit rapidement. Elle s'imposa avec la publication de Introductio in analysin in finitorum (Introduction à l'analyse de l'infini), traité en latin qu'Euler publia en 1748 [52]. Dans ce travail, Euler l'introduisit ainsi: «Par souci de brièveté, nous noterons 7r ce nombre; ainsi 7r est égal à la moitié de la circonférence d'un cercle de rayon 1, c'est-à-dire à la longueur d'un arc de 180 degrés. » [53, p. 95]. Le mot rayon lui-même, si pratique et aujourd'hui d'usage si courant, n'apparut qu'à une époque récente. Contrairement à ce que l'on pourrait penser, il ne date pas de l'Antiquité mais apparaît pour la première fois dans un livre publié en 1583 [114, p. 134]. Cependant, à partir de cette date ce fut sans doute le seul mot employé pour désigner ce concept. Les Grecs eux-mêmes ne parlaient pas de rayon ni de demi-diamètre, mais se référaient à « la ligne droite issue du centre» ; cette description fut utilisée durant tout le Moyen Âge.
L'Antiquité
2
171
L'Antiquité
Babylone En 1936, on exhuma une tablette d'argile datant du début de l'époque babylonienne, soit environ 1900-1600 av. J.-C. ; sur cette tablette se trouve une règle indiquant que la circonférence d'un hexagone est égale à 0; 57, 36 (en base 60) = 96/100 = 24/25 fois la circonférence du cercle circonscrit [72, p. 18]. De l'égalité Uhexagone = 3d = (24/25)u cercle = (24/25) . Jr. d, on déduit ce qui est sans doute la plus ancienne approximation de Jr, (13.1)
JrBabylone = 3
1
8=
3.125 = Jr - 0.0165 ...
L'Égypte Dans les temps anciens il n'était pas absolument essentiel de calculer la circonférence d'un cercle, puisqu'on pouvait toujours la mesurer. En revanche l'évaluation précise de l'aire d'un disque était plus difficile à obtenir par une mesure, et c'est pourquoi il était important de savoir la calculer. En 1858, un Écossais nommé A. H. Rhind acheta à Luxor un papyrus datant d'environ 1850 av. J.-C. Ce papyrus, connu depuis sous le nom de papyrus Rhind, contient une règle de calcul des aires que l'on pourrait traduire ainsi: « Exemple d'un champ rond de diamètre 9. Quelle est sa superficie? Enlever 1/9 du diamètre; le reste est 8. Multiplier 8 par 8; cela fait 64. Donc la superficie est 64 ». Ainsi, un érudit égyptien de cette époque utilisait la formule A = (d - d/9)2 = (8d/9)2. Quand on compare cette formule avec celle de l'aire, A = Jrd 2 /4, on obtient la valeur de Jr utilisée par les Égyptiens: (13.2)
JrÉgypte = (16/9)2 = 3.16049 ... = Jr + 0.0189 ...
Le problème n048 du papyrus Rhind donne une idée de la manière dont cette valeur pourrait avoir été obtenue. On y trouve une figure représentant un carré de côté 9 dans lequel sont inscrits un cercle et un octogone. L'auteur du papyrus pourrait avoir observé que la superficie de l'octogone qui est de 81 - 4 . 32/2 = 63 unités est légèrement inférieure à celle du disque. Il pourrait alors avoir ajouté une unité, pour corriger cette petite erreur [72, p.19].
172
L'histoire de
7f
Il est possible que des approximations de 7f aussi précises ou plus encore, aient été connues plus tôt en Égypte. Des documents datant de 2600 av. J .-C. montrent des aides pour le calcul utilisant des polygones inscrits non réguliers. Il se pourrait qu'ils eussent été employés pour obtenir de bonnes approximations de 7f. Pour des développements sur ce point, voir le chapitre suivant.
L'Inde Le Sulvasutras est un traité indien qui regroupe les « règles des cordes», c'est-à-dire les règles permettant de bâtir des autels de formes diverses avec l'aide de bouts de cordes [51, p.102]) ; il est certainement antérieur à la plus ancienne version qui nous soit parvenue, datant d'environ 600 av. J.-C. [72, p. 4], qui contient la description du calcul de la superficie d'un disque: « Si vous désirez transformer un cercle en carré, divisez le diamètre en 8, puis divisez l'une de ces 8 parties en 29; enlevez 28 de ces 29 parties; coupez en six le morceau restant, puis enlevez l'un des sixièmes. Coupez en 8 ensuite le morceau et enlevez l'un des huitièmes. Assemblez les morceaux restants; la longueur totale est celle du côté d'un carré dont l'aire est celle du disque». La longueur c du carré est c
=
d~8
(7 +
~ 29
(1 -
~6
(1 -
~))) = 8
9785 d 11136
On en déduit que 9785) 2 ( 5568
(13.3)
= 3.08832 ... =
7f -
0.0532 ...
Une autre approximation célèbre de 7f a été attribuée aux Chinois mais elle pourrait aussi être d'origine indienne. C'est
(13.4)
7f
~
Fa = 3.16227 ...
Tropfke cite une source selon laquelle y'IO se trouvait déjà en 150 av. J.-C. dans les écrits de l'érudit indien Umasvati. L'auteur croit même pouvoir faire remonter l'utilisation de cette valeur en Inde aux environs de 500 av. J.-C. [114, p. 277].
173
L'Antiquité
La Bible Ainsi qu'on pouvait s'y attendre, la Bible mentionne également une valeur qui est une approximation de 7r. Le roi Salomon demanda à l'architecte Hiram de Tyre de construire un réservoir d'eau circulaire dans la cour du temple; il fut décrit comme une « mer de fonte». Dans le livre des Rois, chapitre 7, verset 23, on trouve cette description: «Et il fit une mer de fonte de dix coudées d'un bord à l'autre; elle était circulaire, et sa hauteur était de cinq coudées, et une ligne de trente coudées en faisait le tour ». Un tour de trente coudées et un diamètre de dix coudées, cela fait une approximation biblique 7rBible = 3. C'est assez lamentable si l'on considère qu'à cette époque, vers 550 av. J.-C., des valeurs plus précises de 7r étaient, depuis longtemps, connues. Beaucoup de gens critiquèrent la Bible pour n'avoir pas donné de meilleure approximation de 7r; cela poussa certains exégètes à rechercher des explications qui permettraient de présenter la Bible sous un meilleur jour. Par exemple, au XVIIIe siècle, certains imaginèrent que la « mer de fonte » pourrait avoir été hexagonale [114, p. 261]. D'autres tentatives plus récentes pour trouver une meilleure explication n'apportent pas plus de vraisemblance. Ainsi, M. D. Stern suggéra [111] que la valeur réelle de 7r serait obtenu en divisant les différences entre les versions orales et écrites de la Bible. Cela donnerait
(13.5)
7rBible
333
= 106 = 3.141509 ... = 7r - 0.000083 ...
Cette valeur possède quatre décimales exactes, et si cette thèse pouvait être confirmée, elle réduirait au silence les critiques de l'inexactitude apparente de la Bible.
La Grèce antique Tous les grands mathématiciens grecs de l'ère classique du Ve au Ille siècle av. J .-C. travaillèrent aux problèmes relatifs au cercle. La découverte de la méthode d'exhaustion fut cruciale. Elle est attribuée soit à Antiphon (vers 430 av. J.-C.) soit à Eudoxe (408-355 av. J.-C.); l'idée de la méthode est que l'aire d'une figure plane, comme un disque, peut être approchée par les aires de figures d'aire connue, comme des polygones, et qu'un processus mental permet d'imaginer que les polygones épuisent la figure en la remplissant complètement jusqu'à exhaustion. Euclide (env. 330-275 av. J.-C.) employa cette méthode pour prouver que les aires des disques sont proportionnelles au carré de leur diamètre. Aucun des mathématiciens grecs, d'Anaxagore (env. 499-428 av. J.-C.) à Euclide ne semble avoir amélioré la valeur numérique de 7r. Les Grecs étaient
174
L'histoire de
7r
des géomètres, l'algèbre ne les intéressait pas. Ils étaient intéressés par les aspects géométriques des cercles et par la quadrature du cercle. Ce dernier problème consistait à construire un carré dont l'aire fût égale à la superficie d'un disque donné. Plusieurs mathématiciens avaient déjà trouvé des solutions à ce problème quand Euclide augmenta la difficulté en précisant que la construction devait être réalisée en utilisant uniquement une règle et un compas. Ce fut seulement en 1882 que Hermite démontra que la quadrature du cercle est impossible dans ces conditions. On considère néanmoins que le philosophe Platon (427-348 av.J.-C.) obtint une approximation de bonne qualité de 7r en considérant la moyenne arithmétique des demi-périmètres du carré inscrit dans un cercle, et de l'hexagone circonscrit à ce cercle. La valeur obtenue était 7r = v'2 + J3 = 3.146 ... [51, p. 126]. Bien que les valeurs initiales, 3.464 ... et 2.828 ... , soient des approximations relativement médiocres de 7r, la valeur finale est assez exacte; cela fut parfois interprété comme un cas typique de résultat chanceux.
3
Les polygones
Après une phase initiale d'approximations empiriques, le mathématicien grec Archimède de Syracuse (287-212 av. J.-C.) inaugura la première phase théorique de l'histoire de 7r. Vers 250 av. J.-C., il réalisa une étape marquante de l'histoire de 7r en utilisant une nouvelle méthode qui lui permit d'approcher systématiquement le nombre 7r et d'en obtenir des encadrements. Dans son livre intitulé De la mesure du cercle, il énonça trois théorèmes sur le cercle; voici le troisième : 3. Le rapport entre la circonférence d'un cercle et son diamètre est inférieur à 3 ~ et supérieur à 3 ~~ . Exprimé comme une formule, ce théorème s'écrit
(13.6)
10 1 3+->7r>37 71
Numériquement l , 3.14084 ... < deux décimales exactes de 7r.
7r
< 3.14285 .... Cette approximation donne
Tropfke [114, p. 273] fit ce commentaire: « Cela marque l'origine de la valeur 3~, qui se répandit victorieusement de pays en pays et de livre en livre. À Alexandrie cette valeur ne tarda pas à remplacer la vieille valeur de (16/9)2, 1 Aujourd'hui, on écrit les encadrements en écrivant à gauche le nombre le plus petit, mais à l'époque d'Archimède, il était habituel d'écrire les inégalités dans l'autre sens. En outre, pour l'encadrement considéré, c'est le majorant qui est calculé en premier.
175
Les polygones
ARCHIMÈDE
parce qu'elle était tout aussi commode tout en étant plus précise. D'Alexandrie, l'approximation de 7r trouvée par Archimède se répandit jusqu'en Inde, et on a même établi qu'au Ve siècle ap. J.-C., elle était connue en Chine. » Seuls quelques fragments du livre d'Archimède ont survécu. Presque tous les passages en dorique, le dialecte que parlait Archimède ont été perdus. On a néanmoins pu reconstruire les grandes lignes de la preuve d'Archimède. Pour démontrer son théorème, Archimède calcula les périmètres de deux polygones réguliers à 96 côtés, l'un inscrit dans un cercle, l'autre circonscrit à ce cercle. Le périmètre du polygone circonscrit est légèrement plus grand que la circonférence du cercle et fournit ainsi une majoration de 7r, tandis que le périmètre du polygone inscrit est légèrement plus petit, et fournit une minoration de 7r. La longueur du polygone à 96 côtés d'Archimède fut calculée grâce à une séquence de polygones dans laquelle chaque polygone a deux fois plus de côtés que le polygone prédécesseur. Archimède commença par des hexagones, dont les propriétés géométriques avaient été étudiées en profondeur dans la Grèce antique. Des hexagones, il passa à des polygones à 12, puis 24, 48 et enfin 96 côtés. Il calcula d'abord les longueurs de tous les polygones circonscrits, puis
L'histoire de
176
1f
celles de tous les polygones inscrits, plutôt que d'évaluer de manière croisée d'abord les longueurs des deux hexagones, puis celles des deux polygones à 12 côtés, etc. Parfois, la construction d'Archimède est décrite autrement. Archimède obtint les formules nécessaires en se servant des figures ci-dessous. Polygones circonscrits
Polygones inscrits
c C D
A
B
f----~,..'O
(13.7) (13.8)
(CO+OA): CA = OA: AD OA2 + AD 2 = OD 2
r--------~
(13.9) (13.10)
(AB
A
: BC = AD: DB AD 2 + DB 2 = AB 2
+ AC)
Les notations utilisées dans les figures sont identiques à celles qu'employa Archimède. Les segments AC et BC représentent les demi-côtés d'un polygone inscrit ou circonscrit à n côtés, tandis que AD et BD représentent les demi-côtés du polygone suivant. Ainsi OD et AD ont-ils pour effet de diviser des angles AOC et BAC. Les formules (13.7) et (13.9) peuvent être démontrées à l'aide de la géométrie élémentaire, mais ce n'est pas la méthode la plus simple. Archimède dut les calculer sans les formules trigonométriques de duplication, et même sans véritable formule du tout. Les formules permettant de passer d'un polygone à n côtés au suivant offrirent à Archimè la possibilité de de construire deux séquences de nombres complètement symétriques (a6, a12, a24, a48, a96) et (b 6 , b12 , b24, b48 , b96 ), qui sont liées de la manière suivante :
(13.11)
(13.12) Au temps d'Archimède, les notations trigonométriques usuelles n'existaient pas encore. En les utilisant, on voit que les séquences (an) et (b n ) sont reliées par les formules an = ta~ bn = si~ ex = ~, où c est une constante d'échelle (le'
(le'
177
Les polygones
que l'on peut choisir de façon à simplifier les calculs. Les deux formules d'Archimède (13.11) et (13.12) sont probablement les deux premières formules de récurrence de l'histoire; elles lui permirent de passer de l'hexagone au polygone à 96 côtés. Après avoir établi ces formules, Archimède eut seulement besoin de valeurs initiales permettant d'effectuer le calcul. Les proportions initiales des deux hexagones GA: AC et AC: CB valant V3, toute la précision du calcul reposait sur celle de l'évaluation de V3. Comme Archimède n'avait pas d'autres moyens à sa disposition, il dut se contenter de deux approximations, et sans explication choisit cet encadrement : 1351 780
(13.13)
> V3 >
265 153
Peu d'énigmes suscitèrent autant de travail de la part des historiens des sciences que la question de comprendre comment Archimède arriva à cet encadrement de V3 par des fractions approchant V3 = 1. 7320508 ... respectivement à 2· 10- 5 et 5· 10- 7 près. L'explication la plus simple [64, II, p.51] est qu'il utilisa pour cela des inégalités déjà connues depuis longtemps, et sans doute au temps des Babyloniens,
b a+2a
(13.14) En prenant a
=
>
~
ya 2
b + b > a + --2a + 1
2, et b = -l, on obtient 2-i
> V3 > 2-~, soit
i
> V3 > %.
La dernière inégalité suggère d'utiliser 5 comme approximation de 3V3 V27 = V25 + 2. En réutilisant l'encadrement (13.14), on obtient 2 5 + 10
2
26
19
> 3V3 > 5 + Un soit 15 > V3 > U
L'inégalité î~ > V3 permet d'utiliser 26 comme approximation de ~ V675. Une nouvelle application de (13.14), fournit alors 1 26 - 52
=
1 1351 soit - 51' 780
> 15V3 > 26 - -
1325 765
> V3 > - -
=
265 153
= -
Quoi qu'il en soit, Archimède prit les numérateurs 1351 et 265 de (13.13) comme a6, les dénominateurs 780 et 153 comme C, et 2c comme b6 . Il exécuta alors quatre itérations, une pour chacun des polygones à 12,24,48 puis 96 côtés. À chaque itération il devait faire une approximation d'une racine carrée
178
L'histoire de
7r
à l'aide d'une fraction, et pour cela, il employa évidemment la méthode que
l'on vient de détailler pour l'approximation de V3. En tout cas l'erreur sur 7r due à l'approximation d'un cercle par un polygone à 96 côtés était 8 fois plus grande que l'erreur due aux calculs, pour l'un des côtés de l'encadrement, trois fois pour l'autre côté. La plupart des calculs de la procédure suivie ont pu être reconstitués (seules les expressions entre crochets ont été ajoutées) et on peut les résumer ainsi 2 [64, II, p.55J
Polygones circonscrits
n
a
b
c
6
265
306
153
12
571
> [)571 2 + 1532 J
24
1162~
48
2334~
[V(1162~)2 + [V(1162~)2 +
96
4673~
153
1172~ 1532 ] > 2339~ 153 2 ] >
153 153 153
Polygones inscrits c
n
a
b
6
1351
1560
12
2911
24
5929~ 41 1823
< )2911 2 + 780 2 < 3013~ 4
48 96
3661 1007
1
780 240
2
2
< )1823 + 240 < 1838
tl
tl
2016i
780
240 66
2
< )(1007 +
66 2
< 1009i
V(2016i)2 + 66 2 <
2017~
66 66
Enfin, avec C96 : a96 et C96 : b96 , Archimède avait calculé des approximations pour le rapport entre la longueur d'un côté de polygone et le diamètre du cercle; ces approximations liées aux polygones à 96 côtés inscrits et circonscrits avaient toutes les deux une erreur relative inférieure à 4 . 10- 5 . En multipliant par 96 les fractions C96 : b96 et C96 : a96, il arriva à
(13.15)
7r<
667~ 667~ 1 =3+--<3+--=3+1873~ 4673~ 4672~ 7
96· 153
2Pour les polygones inscrits, les fractions pour a et c sont réduites à leur forme la plus simple.
179
Les polygones
et
(13.16)
96 . 66
7r> - -
2017~
6336
284~
2017~
2017~
= - - =3+--
>
10
3+71
ce qui lui permit d'achever la démonstration de son théorème. Voilà! Quelle est la caractéristique la plus remarquable dans le calcul de 7r d'Archimède? L'exactitude du résultat? Le fait qu'il arrive à un encadrement de 7r, qui révèle que 7r ne serait pas une valeur simple? Ou la méthode de calcul elle-même, qui était totalement originale par sa manière et son envergure? Le livre d'Archimède était intitulé De la mesure du cercle, ce qui était plutôt trompeur, car il traitait plus de calculs que de mesures; outre le théorème que nous venons de voir, il contenait deux autres théorèmes en rapport avec 7r.
Le premier affirmait que l'aire d'un disque est égale à celle d'un triangle rectangle dont les deux côtés de l'angle droit ont des longueurs respectivement égales au rayon du disque, et à la longueur du cercle qui constitue le bord du disque. Archimède montra ce résultat indirectement, en établissant que l'aire du disque ne peut être ni strictement plus grande ni strictement plus petite que l'aire d'un tel triangle, et que par suite ces deux aires sont égales. Le second théorème affirmait que 11 : 14 est une bonne approximation du rapport entre l'aire d'un disque et le carré de la longueur de son diamètre. Cela découle immédiatement du premier théorème énoncé plus haut. La méthode d'approximation d'Archimède permet en théorie de calculer des approximations de 7r de précision arbitraire, et de fait, jusqu'au XVIIe siècle, la plupart des mathématiciens ayant cherché des approximations de 7r se contentèrent de calculer les longueurs de polygones ayant de plus en plus de côtés. Pendant presque 200 ans, cette méthode n'eut aucune concurrence sérieuse. Malheureusement, cette méthode d'approximation de 7r ne converge pas bien vite. Même quand on calcule très précisément les longueurs des côtés des polygones à 96 côtés inscrits et circonscrits à un cercle, les erreurs absolues des approximations de 7r sont toujours de 0.00112 ... et -0.00056 ... Chaque fois que le nombre de côtés est doublé, l'erreur absolue diminue seulement d'un facteur 1/4. Formulé en termes contemporains, un polygone régulier avec n côtés fournit (au moins) l2loglQn - 1.19J décimales exactes. Ainsi, les polygones à 10 18 côtés ne fournissent que 36 décimales de 7r. Pour avancer par cette méthode, il faut transpirer! Il semblerait qu'Archimède lui-même ait amélioré son calcul. Héron (le siècle ap. J.-C.) fait référence à un travail d'Archimède qui a depuis été perdu, selon
180
L'histoire de
7r
lequel un encadrement de 7r serait donné par 211875 : 67441 = 3.14163 ... et 197888 : 62351 = 3.1738 ... [114, p.273]. Mais, bien que la première valeur soit très proche de 7r, il doit y avoir une erreur car les deux nombres sont strictement supérieurs à 7r. Quatre cent ans après Archimède, l'astronome grec Ptolémée (150 ap. J.-C.) donna pour 7r la valeur approchée 3.1416. Peut-être arriva-t-il à cette approximation en calculant une valeur approchée de 3°8'30" = 3 en utilisant la représentation sexagésimale de l'encadrement de 7r donné par Archimède, à savoir 3 + ~ = 3°8'34.28" et 3 + i~ = 3°8'27.04" [114, p. 275]. À moins qu'il n'ait additionné séparément les numérateurs et les dénominateurs des fractions 3 + l7 -- 154 et 3 + 10 - 223 pour arriver à leur moyenne 377 [51 49 71 71 120 ' p.127].
So
Rome À notre connaissance, les Romains ne firent aucun progrès dans l'analyse mathématique des cercles. Il semble bien que, en 15 av. J.-C. aucune valeur plus précise que 7r = 3 n'était ni nécessaire, ni même connue. La topographie, au temps de Romais n'était à l'évidence pas particulièrement précise [114, p.277].
La Chine Quand Wang Mang monta sur le trône à la fin de la dynastie Han (206 av. J.-C. - 24 ap. J.-C.), il demanda à l'astronome Liu Xin d'effectuer une mesure de son empire. En réponse, Liu Xin produisit un rouleau cylindrique en bronze. On pense qu'une centaine de copies furent réalisées et distribuées à travers le pays. L'une d'entre elles est conservée au musée du palais de Pékin. Après l'avoir étudiée, des historiens ont conclu que Liu Xin avait dû posséder une approximation de 7r bien meilleure que 3, plutôt de l'ordre de 3.1547. Tout ce que l'on sait de l'histoire de 7r en Chine vient d'un article [78] de Lam Lay-Yong et Ang Tian-Se, dont le contenu a été assez largement confirmé par [51]. À peu près un siècle plus tard, Zhang Reng (78-139 ap. J.-C.) améliora expérimentalement la valeur de 7r connue en procédant ainsi: à son époque, on pensait que la proportion entre l'aire d'un disque et l'aire d'un carré inscrit dans le disque était de 4 : 3. Par analogie, Zhang Heng calcula la proportion entre le volume d'un cube et celui d'une boule sphérique inscrite dans ce cube; il obtint 4 2 : 3 2 = 16 : 9.
Voyant que ce rapport était trop grand, il le corrigea et l'évalua à 8 : 5. En refaisant son calcul à l'envers, il fut amené à penser que la proportion entre
181
Les polygones
l'aire d'un disque et l'aire d'un carré inscrit dans le disque n'était pas de 4 : 3, mais plutôt de VS : VS. Il en déduisit qu'une valeur approchée de 7r est y'IO = 3.1622 ... Au lUe siècle, Wang Fan (217-257 ap. J.-C.) donna 14~2 proportion entre la circonférence et le diamètre.
= 3.155 ... comme
Il fut suivi par deux érudits qui effectuèrent des calculs systématiques sur 7r et obtinrent de meilleurs résultats. Le premier était Liu Hui, vers 263 ap. J.-C. Il commença avec un cercle de rayon 10 et, en utilisant le théorème de Pythagore, il calcula les superficies de polygones inscrits en commençant avec l'hexagone et, de proche en proche, arriva à des polygones à 192 côtés. Son calcul s'acheva avec l'inégalité suivante:
(13.17) Ici, A désigne l'aire d'un disque, et An l'aire d'un polygone régulier inscrit à n côtés. Archimède avait obtenu son encadrement de 7r en considérant deux polygones ayant le même nombre de côtés, l'un inscrit dans un cercle, l'autre circonscrit. Liu Hui obtint sa majoration de 7r en considérant un polygone inscrit, mais ayant deux fois plus de côtés. L'expression 2(A 2n - An) représente n fois le rectangle AEFC.
EDF ;=-=,,;;:..=,......:;
o
Au terme de son calcul, Liu Hui arriva à cet encadrement de l'aire à ~g~ près:
(13.18)
A~A192
36
+625 -
Il en déduisit alors l'approximation suivante de
(13.19)
7r
~
314 + ..1. 102
25
7r
= 3.1416
qui est à 7.346· 10- 6 près de la vraie valeur de
7r.
Liu Hui ne produisit aucune justification de ce rapport (13.18), de sorte que nous ne pouvons qu'imaginer comment il y parvint. Il ne fait aucun doute
182
L'histoire de
7r
qu'il pensait que la vraie valeur de 7r était plus proche de la longueur du polygone à 192 côtés que de celle du polygone à 96 côtés; il effectua donc probablement une moyenne pondérée des deux valeurs au lieu d'une moyenne arithmétique simple. Peut-être divisa-t-il la différence 169 - 64 = 105 par 3 au lieu de 2, ce qui lui aurait donné l'approximation 314 + 99/625 (qui comporte presque la même erreur, mais avec un signe opposé). On peut très bien comprendre pourquoi Liu Hui ne voulut pas en rester là : la fraction 99/62 ne demandait qu'une toute petite modification pour être remplacée par 100/625, simplifiable en 4/25. Ce fut la touche finale couronnant la formule (13.19) avec une combinaison de précision et de commodité d'usage. Les méthodes de Liu Hui et d'Archimède présentent de nombreuses similitudes : les deux mathématiciens utilisèrent la méthode d'exhaustion appliquée aux polygones, en partant de l'hexagone, et en doublant à chaque étape le nombre de côtés. Les deux hommes furent également les seuls mathématiciens de leur époque à calculer un encadrement de 7r. À la différence d'Archimède, Liu Hui employa seulement des polygones inscrits et calcula leur superficie plutôt que leur périmètre. Mais surtout, il effectua ses calculs dans le système décimal avec le zéro qu'il avait hérité de ses ancêtres. Même s'il revînt ensuite aux fractions, il avait pu faire ses calculs sans s'en servir. Cela montre qu'à cette époque les Chinois étaient capables de manier de grands nombres. Liu Hui savait par exemple qu'il lui fallait calculer ses racines carrées avec 10 décimales exactes pour en obtenir 5 de correctes dans le résultat. Néanmoins, la bonne précision de la formule (13.19) ne résulte pas du fait que les calculs aient été faits avec des nombres décimaux, mais d'un choix judicieux de la pondération entre la majoration et la minoration. (Cela fut établi en 1621 par Wildebrord Snell).
Le deuxième érudit chinois d'importance au cours du premier millénaire fut Tsu Chhung-Chih (ou Zu Chongzhi) (429-500). Il améliora la précision de la valeur de 7r trouvée par Liu d'un facteur 210.
(13.20)
3.1415926 <
7r
< 3.1415927
Avec ses 7 décimales exactes, cet encadrement fut le record mondial pendant 800 ans, mais il fut gardé secret, même en Chine. Il ne fut redécouvert qu'au cours du XIVe siècle. Une autre caractéristique intéressante du résultat de Tsu Chhung-Chih est qu'il fut le premier à être écrit avec la notation décimale; il écrivit en effet [116, p. 312] 3 zhang, 1 chi, 4 cun, 1 fen, 5 li, 9 hao, 2 miao, 7 hu
183
Les polygones
Dans cette expression, zhang, chi, etc. sont des unités de longueur qui se comportent comme les puissances successives de 10. Il semble probable que Tsu ait employé la même méthode de calcul que Liu; si c'est bien le cas, il se servit de polygones à 12 288 côtés pour calculer 'if et il dut effectuer les calculs intermédiaires avec 13 décimales exactes. Tsu trouva aussi une deuxième valeur qui était numériquement moins précise mais visuellement plus attrayante. La voici: (13.21)
'if
:::;j
355 113
= 3.1415929 ...
Cette fraction décimale, qui donne 6 décimales correctes, coïncide avec le quatrième quotient du développement en fraction continue de 'if, mais elle ne fut certainement pas obtenue de cette manière. On pense qu'il obtint cette valeur à partir de deux fractions donnant une moins bonne approximation, mais qu'il combina fortuitement avec une bonne pondération.
L'Inde En 499 ap. J.-C., l'astronome Aryabhata (né en 476 ap. J.-C.) écrivit un document appelé Aryabhatiya. Son théorème 10 (extrait d'une liste de 133 théorèmes) s'énonce ainsi [72, p. 203]. Ajouter 4 à 100, multiplier par 8 et ajouter 62 000. C'est la circonférence approchée d'un cercle de diamètre 20 000. Cela donne pour 'if une valeur de 62832/20000 = 3.1416. On soupçonne cependant que cette valeur pourrait être d'origine grecque, voire même provenir directement d'Archimède, puisque ses travaux se répandirent jusqu'en Inde, et même au-delà. Il est également possible qu'Aryabhata ait calculé lui-même cette approximation de 'if, car il démontra aussi que si a est la longueur des côtés d'un polygone régulier à n côtés inscrit dans un cercle de diamètre 1, et si b est la longueur des côtés d'un polygone régulier à 2n côtés lui aussi inscrit dans un cercle de diamètre 1, alors b2 = (1 - VI - a 2 )/2. Partant d'un hexagone, il calcula les longueurs des côtés des polygones réguliers à 12,24, ... ,384 côtés. Il trouva V9.8694 comme longueur du dernier polygone et, à partir de là, il calcula une valeur approchée de cette racine qui lui donna son approximation de 'if [14, p. 341]. L'hindou Brahmagupta (né en 598 ap. J.-C.) était fasciné par la découverte que les longueurs des polygones réguliers à 12,24,48 et 96 côtés inscrits dans un cercle de diamètre 10 sont respectivement V965, V981, V986 et V987. Il en déduisit que, si le nombre de côtés était doublé encore et encore, le périmètre tendrait vers V1000. Utilisant ce raisonnement, il en conclut (vers 650 ap. J.-C.) que 'if = V1000/1O = VIO = 3.16227 ... [41, p. 68].
184
L'histoire de
7f
Sogdiane (aujourd'hui dans l'Ouzbekistan) Vers 830, le Sogdiane Alkarisme marqua l'histoire de 7f en en donnant trois valeurs approchées, 22/7, VIO et 62832/20000. La première était sensée être une valeur moyenne, la deuxième était destinée aux géomètres, et la troisième aux astronomes. Le mot algorithme est dérivé du latin algorithmus, lui-même dérivé du nom d'Alkarisme, Abu Ja'far Mohammed ibn Mûsâ al-Khowârizmi. Le mot algèbre vient du titre d'un livre qu'il écrivit : Kitab al jabr w'almugabala [77, p. 197].
Le Moyen Âge Aux alentours de 1220, en Europe, Léonard de Pise (1180-1240), plus connu sous le nom de Fibonacci, calcula une valeur approchée de 7f, 864/275 = 3.14181, en partant de la longueur d'un polygone régulier à 96 côtés. Bien qu'il ne se fût pas servi du travail d'Archimède, son approche était plus précise, mais elle restait moins systématique. Si l'on en croit Tropfke, les trois décimales correctes qu'il obtint furent plus une affaire de chance que de calculs bien menés. On raconte que Dante Alighieri (1265-1321), l'auteur de La Divine Comédie connaissait l'approximation [41, p.68].
7f
= 3+ -v'2/10 = 3.14142 ...
En tout cas, c'est Dante qui composa cette strophe qui pourrait très bien résumer tous les efforts des mathématiciens travaillant sur 7f : Comme le géomètre son esprit s'applique à quadriller le cercle, y met toute son adresse, Trouve la bonne formule, cependant il essaie, ... C'est bien dit. Malheureusement, dans cette strophe, il ne parle pas des calculs de 7f, mais de la quadrature du cercle qui, à son époque, était perçue comme un problème difficile dont il fallait trouver la solution, mais dont personne n'imaginait qu'il fût intrinsèquement insoluble. Léonard de Vinci (1452-1519) imagina un procédé mécanique de calcul de 7f. Ce grand inventeur au génie multiple fit rouler un cylindre circulaire dont la hauteur était égale à la moitié du rayon; après un tour, la portion de plan qu'avait couverte le cylindre en roulant était un rectangle dont l'aire était facile à mesurer et valait exactement 27fr x r /2 = 7fr 2 , c'est-à-dire l'aire de la section du cylindre [26, p. 27].
185
Les polygones
ri L'un dans l'autre, il y eu peu de progrès dans l'étude de K dans l'Europe du Moyen Âge. Regiomontanus (1436-1476), dont le nom réel était Johann Müller, fut considéré comme le plus grand mathématicien européen du XV e siècle; en 1464, il employa la valeur 3.14243 pour K. Quant à Adrianus Metius (1571-1635), mathématicien de niveau comparable, il n'utilisa rien de mieux que 355/113, l'approximation que le mathématicien chinois Tsu ChhungChih's avait découverte 1 000 ans plus tôt. Et encore ne trouva-t-il cette valeur que par un heureux hasard, en effectuant les moyennes des numérateurs et des dénominateurs de deux limites, 377/120 et 333/106 [14, p. 343]. À une époque où les mathématiciens était incapables de produire eux-mêmes de meilleures approximations de K, on doit rendre hommage au peintre AIbrecht Dürer (1471-1528) qui employa K = 3~ = 3.125, 3500 ans après que les Babyloniens eurent découvert cette approximation. Cette valeur peut être retrouvée avec une règle et un compas. Pendant 180 ans, la meilleure approximation de K fut de loin celle que trouva l'astronome persan de l'observatoire de Samarkand, AI-Khashî, vers 1430. En se servant de polygones à 3 x 228 côtés, il calcula la valeur approchée suivante de K [77, p. 198] :
2K = 6.28318 5307179586 5
Cette valeur possède 16 décimales exactes. Bien qu'il eüt pu en théorie utiliser la même méthode qu'Archimède, AIKhashî prit une approche différente [69, pp. 314-319]. Il effectua tous ses calculs en utilisant le système hexadécimal, en contrôlant les erreurs dans tous les calculs intermédiaires, ce qui lui permit d'ignorer les décimales inutiles. À la fin, il convertit le résultat dans l'écriture décimale.
186
L'histoire de
7r
L'ère moderne En ce qui concerne les recherches sur 7r en Europe, le signal de départ de l'ère moderne fut donné en 1579 par un mathématicien amateur, le juriste François Viète (1540-1603); ce dernier découvrit 9 décimales de 7r. Pour cela, il combina le modèle d'Archimède et les principes de la trigonométrie, qui avaient entre-temps été établis. Il calcula la longueur d'un polygone à 3 x 2 17 = 393 216 côtés, et fit ce calcul [114, p.284] 180 n sin < n soit, avec n
7r
180 n
< n tan -
= 393 216, 3.141 592 6535 <
7r
< 3.141 592 6537.
Pour trouver les valeurs du sinus et de la tangente, Viète appliqua itérativement la formule 2sin2 ; = 1- cose [14, p. 343]. Des Hollandais prirent le relais dans la course aux décimales de 7r : il y eut tout d'abord Adrian van Romanus (1561-1615) qui, en 1593, calcula 15 décimales de 7r, à partir de la longueur d'un polygone à un milliard de côtés. Trois années plus tard, en 1596, il fut dépassé par Ludolph van Ceulen (15391610), un professeur de mathématiques de l'université de Leyde. D'abord, van Ceulen calcula seulement 20 chiffres, en utilisant la longueur de polygones réguliers circonscrits et inscrits à 60 x 233 ~ 515 milliards de côtés. Il continua ensuite ses calculs, mais ne les publia pas lui-même. On trouve dans une publication posthume datée de 1615 une valeur approchée de 7r ayant 32 décimales correctes; elle avait été obtenue à partir de polygones à 262 ~ 4.6 trillions (un trillion = 10 18 ) de côtés. En 1621, une autre publication lui attribua un calcul de 7r avec 35 décimales correctes. On pense que ces 35 décimales furent gravées sur sa tombe, mais celle-ci a été perdue. Le record de van Ceulen tint longtemps, et en Allemagne, jusqu'à la première guerre mondiale 7r était encore appelé le nombre de Ludolph. Avant d'être supplantée par la méthode des séries, la méthode des polygones connut une dernière amélioration. Wildebrord Snell (1581-1626) réussit en 1621 à calculer une valeur approchée de 7r ayant 34 décimales correctes. La nouveauté, c'est qu'il obtint ces décimales en partant d'un polygone ayant seulement 230 ~ 1 milliard de côtés, alors qu'avec un tel polygone, Ludolph van Ceulen, avait obtenu seulement 16 décimales. Pour obtenir cette amélioration, Snell divisa une fois de plus le polygone, mais par 3 au lieu de 2, et construisit sur chaque côté du polygone deux segments qui encadraient l'arc de cercle de manière plus précise. Sa méthode reposait sur l'inégalité [14, p. 344]
(13.22)
3 sine 2 + cose
---- <
e < 2sin-e3 +tan-e3
Les polygones
187
La minoration avait déjà été découverte par le cardinal allemand Nicolaus Cusanus (1401-1464) [114, p. 281], tandis que la majoration fut découverte par Snell lui-même. Aujourd'hui, les développements limités des deux termes permettent de comprendre pourquoi la méthode est aussi précise: les termes de degré 3 des deux développements limités sont nuls, ce qui permet une amélioration quadratique de l'erreur. En outre, la majoration de Snell (13.22) confirme l'exactitude de l'approche qu'avait suivie Liu Hui's dans son calcul de 'iT, 1 400 ans plus tôt. Le dernier mathématicien à utiliser la méthode des polygones fut Grienberger, qui calcula 39 décimales de 'iT en 1630. Il utilisa pour cela la méthode de Snell. Au XVIIe siècle on vit également apparaître des variantes de la méthode d'Archimède, la différence majeure tenant à la manière d'organiser les calculs: dans la méthode d'Archimède originale, on calcule tout d'abord les longueurs de tous les polygones circonscrits, puis les longueurs de tous les polygones inscrits. Les nouvelles approches permirent d'organiser les calculs différemment, par exemple en calculant la longueur du polygone inscrit et celle du polygone circonscrit à n côtés, puis les longueurs des deux polygones à 2n côtés, et ainsi de suite. Une approche similaire fut développée par James Gregory (1638-1675), dont nous parlerons encore plus loin car il fut aussi l'un des précurseurs de la série de Leibniz (voir le paragraphe sur les expressions infinies). Poursuivant la tradition issue d'Archimède, il garda un cercle de rayon constant tout au long des calculs, mais au lieu de calculer les longueurs des polygones, il calcula leur aire. Notons An et an les aires des polygones à n côtés circonscrits et inscrits au cercle. La formule de récurrence qu'il utilisa est la suivante
(13.23) La formule de gauche avait déjà été découverte au Moyen Âge, et figurait dans les travaux de Jordanus Nemorarius (7-1237), mais Gregory n'en a probablement pas eu connaissance. René Descartes (1596-1650) apporta une autre innovation, en réussissant à mettre en œuvre une idée que Cusanus avait essayée sans succès 200 ans plus tôt. Au lieu de garder un cercle fixe dans lequel on inscrivait de plus en plus de polygones, il construisit une suite de polygones ayant une longueur constante, qui pouvaient être inscrits ou circonscrits à des cercles dont le rayon variait à chaque itération. En termes modernes, les deux suites de rayons ainsi construites formaient deux suites adjacentes convergeant vers P /2'iT, où P est la longueur constante des polygones considérés. Commençant
188
L'histoire de 7r
avec un carré de longueur P sont les suivantes:
= 8, les formules de récurrence de Descartes
(13.24) Les deux suites de l'algorithme de Descartes convergent linéairement vers 4/7r. Ouvrons ici une parenthèse pour relier les formules de Descartes aux formules de Gauss: en 1809, 160 ans plus tard, Carl Friedrich Gauss (1777-1855) établit des formules de récurrence presque identiques, mais convergeant beaucoup plus rapidement 3 :
(13.25) Aussi surprenant que ce soit, c'est la toute petite différence, r n au lieu de dans la formule de droite, qui change tout: on passe d'une convergence linéaire à une convergence quadratique. Grâce à cette modification, la récurrence n'engendre plus une amélioration constante à chaque étape, mais elle double à chaque étape l'amélioration apportée par l'étape précédente. Ainsi, après 10 itérations, on n'a pas seulement 6 décimales correctes, mais 1 000. Un véritable miracle mathématique! r2n
Tandis que la méthode de Descartes repose sur la géométrie élémentaire, la règle d'itération de Gauss provient, elle, de la théorie des fonctions elliptiques. Le fait que les deux algorithmes aboutissent à des suites notées r et R ne doit pas porter à confusion: dans les formules de Descartes il s'agit de rayons de cercles, mais pas dans les formules de Gauss. L'algorithme de Gauss est discuté en détails au chapitre 7, où l'on évoque aussi le regrettable incident historique qui a conduit à oublier cet algorithme pendant un siècle et demi, jusqu'en 1976.
4
Les expressions infinies
La deuxième ère dans l'histoire du calcul de 7r commença avec des produits et des série infinies. Après presque 2 000 ans durant lesquels les mathématiciens n'avaient eu à leur disposition que des méthodes géométriques, ces produits et séries leur fournirent un véritable outil analytique. 3En fait, les suites (R 2n ) et (T2n) convergent vers %(R§n - T§n). Cela résulte de la formule (7.1).
vi hn7r,
avec i4 = 1/2, hn = in -
189
Les expressions infinies
Les débuts, en Inde Les premières séries permettant de calculer 7r apparurent en Inde au XV e siècle, et même peut-être plus tôt. Elles précédèrent donc d'au moins cent ans la première série européenne, qui ne fut découverte qu'en 1593. Cette antériorité fut mise en évidence dès 1835 dans une thèse soutenue par Charles Whish, intitulée Sur la quadrature du cercle hindoue et la série infinie de la proportion de la circonférence du cercle au diamètre exposée dans les quatre Sastras, Tantra Sangraham, Yukti-Bhasa, Karana-Paddhati et Sadratnamala. Cette thèse passa inaperçue pendant plus d'un siècle, et ce n'est qu'en 1940 qu'elle fut redécouverte, puis elle fut confirmée par des travaux historiques plus récents. Les textes en sanscrit Yukti-Bhasa et Yukti-Dipika ne contiennent pas moins de huit séries pour 7r. Parmi elles se trouve les deux séries suivantes, dont l'une commence comme la série de Leibniz
(13.26)
(13.27)
7r
1 1- 3
1
1
1
p/2
444
4
4
~
7r
= 3 + 33 _ 3 - 53 _ 5 + 73 - 7 - 93 - 9 + ...
+ -5 - -7 +"'=f-±-p-1 p2 + 1
Ces huit séries sont reproduites dans la collection de formules qui fait l'objet du chapitre 16 (formules (16.6) à (16.13)). Nous sommes redevables à S. Parameswaran [89] et à Roy Rinjan [98] de nous les avoir fait découvrir. Selon Parameswaran, les origines de ces séries sont compliquées, surtout parce qu'elles furent d'abord transmises oralement. L'Yukti-Dipika fut écrit par Sankaran (vers 1500-1560), qui déclara avoir été aidé par Jyestha-devan, qui pour sa part écrivit l'Yukti-Bhasa. Outre les séries elles-mêmes, ce dernier texte contient des preuves détaillées. Ces deux érudits furent aidés en astronomie et en mathématiques par Kelallur Nilakantha Somayaji (env. 1444-1545), l'auteur du Tantra Sangraham. Si les séries n'étaient pas connues auparavant, on pense qu'elles pourraient avoir été découvertes par Nilakantha. Des recherches récentes suggèrent que certaines séries pourraient être antérieures à l'écriture de ces trois documents. À l'appui de cette thèse, le fait que le nom de Madhavan, qui vécut aux alentours de 1340-1425, soit associé à l'une d'entre elles. Sans doute plus surprenant que le grand âge de ces séries indiennes est le fait qu'elles soient tout simplement meilleures que les premières séries européennes.
190
L'histoire de
7f
Kelallur Nilakantha Somayaji accompagna la série (13.26) d'une estimation du reste, en p-5 (voir la formule (12.5)). Pour autant que l'on sache, en Europe, il fallut attendre encore une centaine d'années pour qu'Euler produise, en 1750, une estimation aussi précise. En ce qui concerne la convergence, la deuxième série (13.27) est bien meilleure que la première (13.26). Par exemple, il faut additionner 1 010 termes de la première série pour obtenir 10 décimales correctes de 7f, tandis que pour parvenir à une telle précision, la deuxième série ne demande que l'addition de 103 termes. Une troisième série, (16.6) converge même encore plus vite, puisque l'addition de 28 termes permet d'obtenir 16 décimales exactes.
Les produits infinis En Europe, c'est François Viète, qui découvrit le premier produit infini relié à 7f. Il le publia en 1593, dans un mémoire intitulé Variorum de Rébus Mathematicis [115]. Le voici:
(13.28) Ce produit est numériquement très intéressant car il converge très rapidement: 25 termes suffisent pour obtenir 15 décimales de 7f. Viète arriva à sa formule par une astuce simple mais ingénieuse. Il appliqua itérativement la formule sin(x) = 2 sin(x/2) cos(x/2) pour arriver à n
sin (x) = 2 sin (2:) . cos
(~)
... cos (;: )
Lorsque n tend vers l'infini, 2n sin(x/2n) tend vers x. Pour calculer les expressions en cosinus, Viète employa une formule courante, cos(x/2) =
V~(1 + cos x). Il remplaça alors x par 1 et cos(x)
7f /2,
ce qui lui permit d'écrire sin(x)
=
= 0, et ainsi la formule fut-elle obtenue.
Curieusement dans l'histoire de 7f, le produit de Viète fut suivi par un autre produit. C'est curieux parce que, à part ce produit et le produit de Viète, il y a peu de produits infinis pour 7f mais beaucoup de séries infinies. En tout cas, c'est en 1655, dans un mémoire intitulé Arithmetica Infinitorum, que John Wallis (1616-1703) publia le produit infini suivant, qu'il avait obtenu grâce à des interpolations successives:
191
Les expressions infinies
4
(13.29)
3x3x5x5x7x7x9x9x11x11x··· 2 x 4 x 4 x 6 x 6 x 8 x 8 x 10 x 10 x 12 x 12 x ...
Bien sûr cette façon d'écrire le produit infini est incompatible avec les usages modernes, car le numérateur et le dénominateur tendent tous deux vers 00. Pour obtenir une écriture admissible et compréhensible, il faut grouper les termes deux par deux [114, p. 292].
JOHN WALLIS
On peut retrouver la formule de produit de Wallis en calculant les intégrales
ri (x
J'a
f---7
xm(
v1=-;:"2l)
pour des valeurs entières de m et k [20, p. 68-80].
.
La démonstration originale de Wallis eut une grande importance historique car elle inspira Newton dans la démarche qui le conduisit à découvrir les séries binomiales. Les termes du produit de Wallis sont faciles à calculer, mais ce produit ne constitue pourtant pas un bon outil de calcul de K, car il converge bien trop lentement. Par exemple, après 100 termes, l'approximation de K obtenue n'est correcte qu'à 7.8 . 10- 3 près.
192
L'histoire de
7r
Le vicomte William Brouncker (env. 1620-1684) fut le premier président de la Société royale et, selon Beckmann, en partant du produit de Wallis, il obtint en 1658 le premier développement en fraction continue lié à 7r,
(13.30) 2+
------,,52 2+--2+ ...
Selon Beckmann [18, p. 131] on ne peut pas être sûr de la démarche que Brouncker suivit pour arriver à cette fraction continue. En 1775, c'est-à-dire 100 ans plus tard, Leonhard Euler fut le premier à déterminer systématiquement des fractions continues associées à 7r ; il partit pour cela du développement en série de la fonction arc tangente. À l'époque où les premiers produits et les premières séries sur 7r furent découverts, le calcul infinitésimal n'avait pas encore été développé. Cela explique pourquoi les mathématiciens de l'époque eurent le sentiment d'avoir affaire à des questions très difficiles.
Les sommes infinies Les bases du calcul intégral et du calcul différentiel furent jetées dans la seconde moitié du XVIIe siècle par Isaac Newton (1643-1727) et Gottfried Wilhelm Leibniz (1646-1716). Cela rendit possible l'essor des séries associées à
7r.
Aux alentours de 1665-1666, Isaac Newton lui-même succomba à la tentation de calculer 7r à l'aide de l'une des nouvelles séries. Il employa sa « Méthode des fluxions et séries infinies» pour trouver une série convergeant assez efficacement vers 7r (voir (16.63)); c'était essentiellement un développement reposant sur celui de la fonction arc sinus. En l'utilisant, il obtint 15 décimales de 7r, ce qui était bien sûr loin du record de l'époque. Plus tard, Newton écrivit: «J'ai honte d'avouer avec combien de chiffres j'ai effectué ces calculs. À ce moment-là, je n'avais rien d'autre à faire» [32, p. 339]. Cette remarque montre bien le genre de préoccupations qui caractérise certains chasseurs de décimales de 7r. Le 15 février 1671 fut une date historique pour 7r : c'est ce jour-là que James Gregory (1638-1675) écrivit dans une lettre la première série associée à la fonction arctangente (sans expliquer comment il l'avait obtenue) [20, p. 89]. Si l'on désigne par r le rayon, a l'arc et t la tangente associée, alors la série de Gregory s'écrit [114, p. 293]
193
Les expressions infinies
(13.31) soit, en termes modernes (r
(13.32)
arctan x
= 1) : x3 x5 x7 357
= x - - + - - - + ...
Gregory lui-même ne pensa pas à remplacer x par 1, ce qui l'aurait conduit directement à la série de Leibniz
(13.33)
1r
111
-=1--+---+··· 435 7
Leibniz trouva cette série indépendamment de Gregory et la mentionna dans les lettres qu'il envoya à plusieurs amis à partir de 1674. Nous savons maintenant que cette série était connue depuis longtemps en Inde (voir plus haut). La première personne à se servir de la série de Gregory pour obtenir une approximation de 1r fut l'astronome Abraham Sharp (1651-1742). Il remplaça x par tan(1r/6) = 1/V3 dans (13.32) et obtint ainsi une série (voir (16.67)) qui fournit une décimale de 1r tous les deux termes. Il l'utilisa en 1699 (presque 40 ans après l'invention de Gregory) pour calculer 71 décimales de 1r. Ce fut le premier record du monde à n'être pas fondé sur la méthode des polygones d'Archimède.
Leonhard Euler Les mathématiques du XVIIIe siècle furent dominées par le mathématicien suisse Leonhard Euler (1707-1783). Il fut incroyablement prolifique avec plus de 700 livres et mémoires, totalisant plus de 80 volumes (pas encore tous publiés). Ce fut le mathématicien le plus prolifique de l'histoire des mathématiques. Sa créativité et sa productivité ne furent pas entamées par ses problèmes de santé, puisqu'après avoir souffert des yeux, il finit par perdre complètement la vue. Bien qu'il soit plus souvent associé à e qu'à 1r, Euler a trouvé nombre de résultats qui ont amélioré notre compréhension de 1r. Il trouva en particulier un nombre exceptionnel de formules pour 1r, dont la suivante, qui présente
194
L'histoire de 7r
LEONHARD EULER
la particularité remarquable de relier entre elles cinq des constantes mathématiques les plus importantes, (13.34) La quantité de propos et d'écrits sur cette formule est simplement inimaginable! Dans l'introduction, nous avons cité Benjamin Peirce, mais il fut seulement l'une des nombreuses personnes qui s'émerveillèrent devant cette formule. Tout récemment (1990), les lecteurs du Mathematical Intelligencer ont élu cette formule comme « la plus belle de toutes les formules» [120, 4J. Euler n'exprima pas réellement sa formule de cette façon mais l'écrivit ainsi (1743, dans Miscellanea Berolinesia [41, p.89]) :
(13.35)
eiz
= cos z + i sin z
Comme COS7r = -1, et que sin7r = 0, en prenant z = 7r dans (13.35), on obtient (13.34). Cette expression n'était pas entièrement nouvelle. Roger Cotes (1682-1716) avait déjà publié (avec des notations un peu différentes) une équation équivalente en 1714 [39, p.481],
Les expressions infinies
(13.36)
195
x = log (cos x
H
+ Hsinx)
Car, souvent, certains mathématiciens préfèrent écrire l'équation d'Euler sous une forme relativement énigmatique, par exemple
(13.37)
7r
=
-i ln( -1)
Dans ses commentaires du sondage mentionné ci-dessus, David vVel1s se demanda si les résultats eussent été changés si la formule avait reçu quelques amendements mineurs, qui auraient pu altérer son élégance. Il se demanda par exemple comment la formule aurait été perçue si elle avait été écrite
(13.38) Parmi les résultats les plus spectaculaires d'Euler figure son calcul de la somme de la série L Leibniz, les frères Jacques (1654-1705) et Jean Bernoulli (1667-1748), et beaucoup d'autres grands mathématiciens, avaient essayé de calculer la somme de cette série, sans y parvenir. Euler fut le premier à réussir, en 1736, lorsqu'il trouva cette élégante égalité,
rb-.
(13.39)
00
L n=l
1
2
n
7r 2
= - = 1.64493 406 ... 6
Pour la démonstration, Euler partit de l'équation
(13.40)
sinx
=0
Pour évaluer sin x, il prit la série que connaissait déjà Newton
(13.41)
sin x
5
x3
x
3!
5!
7
= x - - + - - - + ... x
7!
ou (13.42)
sin x
4
6
= x ( 1 - 3! + ST - 7T + ... x2
x
x
)
196 En posant y
(13.43)
L'histoire de
1f
= x 2 , il obtint . sm x
= x 1 - 3! + 5! - 7! + ... (y
y2
y3
)
Pour annuler le second membre, l'un des deux facteurs doit être nul. Or la fonction sinus s'annule en 0, ±1f, ±21f, . .. , de sorte que le deuxième facteur doit s'annuler lorsque y = 1f2, 41f 2 ... Euler eut alors l'idée d'appliquer à la série (1- y/3! + y2/5! - ... ) le théorème affirmant que la somme des inverses des racines d'un polynôme 1 + alX + a2x22 + ... + anx n vaut -al. Il en déduisit
(13.44)
1
1
1
soit, en multipliant les deux membres par
(13.44)
1
+41f -2+ + ... =-6 1f2 91f2
1
1
1
1f2,
1f2
1+-+-+-+···=4 9 16 6
En 1748, Euler publia dans Introductio in analysin innnitorum une autre preuve de la somme (13.39), qui satisfait à des exigences de rigueur plus strictes. Ce mémoire contient également toute une collection de formules pour les puissances de 1f, ainsi que beaucoup d'autres identités. Pour dresser un tableau complet de tous les résultats qu'Euler obtint sur 1f, il faudrait tout un volume. On trouvera à la fin du livre une petite liste de telles formules. L'un des principaux succès d'Euler sur le nombre 1f fut de rendre populaire le symbole 1f. En 1779, à l'âge de 72 ans, il se décida à calculer 1f et obtint en une heure 20 décimales, grâce à une formule et à une série faisant toutes les deux intervenir la fonction arc tangente qu'il avait développées lui-même. Euler ne fut pas le seul mathématicien du XVIIIe siècle à apporter sa contribution à notre connaissance collective de 1f. Déjà au XV e siècle, certains avaient soupçonné que 1f pût ne pas être un nombre rationnel, i.e. un nombre s'écrivant comme le quotient de deux nombres entiers. Huygens et Leibniz en étaient convaincus. Mais ce ne fut qu'en 1766 que le mathématicien alsacien Johann Heinrich Lambert (1728-1777) démontra que 1f est irrationnel [79J. Sa preuve commence par l'écriture d'une fraction continue pour tan v, qu'il écri vi t ainsi :
197
Les expressions infinies
(13.45)
tan v
1
= -------------1 1 : v - ----------1
3 :V
-
-------
1
5:v----1
7:v--
Lambert démontra alors que le côté droit de l'équation est irrationnel lorsque v i- 0 est un nombre rationnel. Mais comme tan(1f/4) = 1 est rationnel, il s'ensuit que 1f / 4, et donc que 1f lui-même, est irrationnel. Après Lambert, Legendre démontra en 1794, qui 1f2 aussi est irrationnel.
Les formules en arc tangente En 1706 John Machin (1680-1752) calcula exactement 100 décimales de 1f, et ce faisant battit le record de Sharp qui était de 71 décimales. Il fut le premier mathématicien à employer une combinaison de deux séries de la fonction arc tangente regroupée au sein d'une même formule. Sa formule avec les arc tangentes devint extrêmement populaire :
(13.46)
1f
1
1
5
239
= 16 arctan - - 4 arctan -
Machin calcula chacune des deux expressions en arc tangente en se servant de la série de Gregory
(13.47)
111 arctan - = - - - 2 x X 3x
+ ...
i,
Pour le calcul de arctan il dut calculer environ 70 termes de la série (13.47), mais, pour celui de arctan 2~9' 20 termes lui suffirent. John Machin ne publia pas lui-même son fameux résultat. Son calcul approché des 100 premières décimales de 1f ainsi que son identité avec deux évaluations de la fonction arc tangente furent publiés pour la première fois dans le Synopsis Palmariorum Mathesos [68], de William Jones ; c'est également dans cet ouvrage que le symbole 1f fut utilisé pour la première fois. Ainsi, fruit du travail d'un mathématicien qui s'était formé tout seul, ce document regroupa-t-il deux innovations majeures sur 1f.
198
L'histoire de
7r
Pendant plus de 200 ans personne ne trouva mieux que des formules combinant plusieurs évaluations de la fonction arc tangente pour calculer des valeurs approchées de 7r. Ayant compris ce qui faisait fonctionner la formule de Machin, certains mathématiciens construisirent d'autres identités similaires, convergeant plus vite grâce à des évaluations de la fonction arc tangente en des points plus petits. Ainsi C. F. Gauss développa-t-il des variantes très efficaces de la formule de Machin. La méthode dite des arc tangentes resta donc en vigueur pendant plus de 250 ans, jusqu'en 1970. C'est bref si l'on compare à la durée de vie de la méthode d'Archimède! Même les premiers calculs de 7r sur ordinateur firent appel presque exclusivement à des formules en arc tangente, et la formule originale de Machin fut même l'une des plus utilisées. À la suite de Machin, beaucoup d'autres mathématiciens reprirent le flambeau, et en quelques années, de nouveaux records de calcul de 7r furent établis. Mais plus le nombre de décimales calculées augmentait, plus le risque d'erreur augmentait aussi. C'est ainsi que l'histoire du calcul des décimales de 7r contient plusieurs exemples de fautes de calcul, révélées par la tentative de record suivante. Par exemple, bien que Fautet de Lagny (1660-1734) eût découvert 27 chiffres de plus que Machin en 1719, il apparut, lorsque son record fut battu par Vega (1754-1802), que sa 112e décimale était incorrecte. Cependant, comme c'était le seul chiffre incorrect, on pense a une erreur typographique plutôt qu'à une véritable erreur de calcul. Vega lui-même fit aussi une erreur: en 1789, il annonça 143 décimales mais, en fait, seulement 126 étaient correctes. Cinq années plus tard, Vega améliora son propre record avec un calcul de 140 décimales de 7r, mais là encore, les quatre dernières étaient inexactes.
Même aujourd'hui, les derniers chiffres calculés sont toujours très suspects. Le détenteur de l'actuel record mondial est Yasumasa Kanada ; afin d'être sûr, il préféra enlever les 200 derniers chiffres du calcul de 206.1 milliards de décimales de 7r, bien que son calcul de contrôle différât du calcul réel seulement dans les 45 derniers chiffres. Il ne fait aucun doute qu'il pensait avoir de toute façon obtenu assez de décimales comme cela. Euler lui-même fut victime de l'erreur de de Lagny, car il reproduisit dans son Introductio le nombre publié par de Lagny. Depuis lors, à chaque réédition de cet intéressant et important travail, les éditeurs ont été confrontés au dilemme de savoir s'ils devaient simplement corriger l'erreur ou pour respecter la vérité historique. Une réédition anglaise de 1988 choisit de garder l'erreur [52, p.101], tandis que dans une réédition allemande publiée en 1885 [53, p.95] l'erreur avait été corrigée. Au XVIIIe siècle, des mathématiciens japonais travaillèrent aussi sur 7r, mais ils restèrent en retrait de leurs homologues européens. En 1722 Takebe Kenko
199
Les expressions infinies
(1664-1739) obtint 41 décimales de 7[2 en utilisant une série de somme 7[2 (16.86), tandis qu'en 1739 Matsunaga obtint 50 décimales. Par la suite, selon Beckmann [18, p. 102], les Japonais se montrèrent plus raisonnables que leurs collègues européens; ils continuèrent à étudier des séries de somme 7[, mais ne se lancèrent pas dans une course aux décimales. Aujourd'hui Beckmann ne pourrait plus en dire autant, car au cours de ces dernières années le plus acharné dans la chasse aux décimales de 7[ a été le Japonais Yasumasu Kanada. Le mathématicien autrichien Lutz von Strassnitzky (1803-1852) exploita une occasion exceptionnelle qui se présenta à lui. En 1840, le célèbre « calculateur mental» Zacharias Dase (1820-1861) vint à Vienne et assista à ses conférences sur les mathématiques élémentaires. Comme il occupait son temps aux calculs « les plus colossaux et les plus inutiles», Strassnitzky le convainquit de se lancer dans une réalisation dont il pourrait faire quelque chose, en particulier dans le calcul de 200 décimales de 7[. Parmi les formules qu'il lui suggéra d'employer, Dase choisit la formule suivante en arc tangente, qui ne converge pas ainsi bien que la formule de Machin mais qui est bien adaptée aux calculs avec un papier et un crayon (et une gomme!) [112] :
(13.48)
1
1
1
4" = arctan 2 + arctan "5 + arctan "8 7[
En deux mois, Dase eut fini. Vingt ans plus tôt, Rutherford avait calculé 208 décimales; avec 200 décimales, Dase en annonçait 8 de moins, mais c'était néanmoins un nouveau record, car, sur ses 208 décimales, Rutherford n'en avait que 152 de correctes. Dase était célèbre dans toute l'Allemagne pour son talent pour les calculs. Il était capable, par exemple, de multiplier mentalement deux nombres de 8 chiffres en 54 secondes, tandis que le produit de deux nombres de 200 chiffres ne lui prenait que 8 heures et 45 minutes, exploit difficile à concevoir. Il proposa de calculer certaines tables mathématiques, si bien que Gauss lui suggéra de compléter la table des factorisations de nombres entiers en produits de facteurs premiers. Dase accepta cette suggestion et avec le soutien financier de l'Académie des sciences de Hambourg, il calcula les factorisations de tous les nombres entre 7 et 9 millions. Beckmann conclut sur Zacharias Dase avec le commentaire suivant: « Évidemment Carl Friedrich Gauss, qui innova dans tant de domaines fut aussi le premier à introduire l'ordinateur payant. » [18, p. 107]
Les derniers records obtenus avec du papier et un crayon La triste histoire de William Shanks (1812-1882) se déroula vers le milieu du XIX e siècle. Shanks n'exécuta pas moins de quatre calculs approchés de
200
L'histoire de
1f
à la main. En 1851 il calcula d'abord 315 puis 530 décimales. Deux ans plus tard, il atteignit 607 décimales, et enfin vingt années après il en calcula 707. En 1853 il publia un livre entier sur le sujet, dans lequel outre les 607 décimales obtenues il donnait une description détaillée de la manière dont il avait effectué son calcul de 530 décimales. Dans l'avant-propos il écrivit:
1f
Vers la En de l'année 1850, l'auteur conçut l'idée de rectiEer le Cercle jusqu'à 300 décimales. Il était pleinement conscient, à cette époque, que l'accomplissement de son but n'ajouterait rien ou presque à sa réputation de mathématicien, quoiqu'on pût lui prêter des qualités de calculateur; de ce travail important et de calculs si longs, il ne devait attendre aucune récompense ni en terme de production ni sous une quelconque forme pécuniaire. C'était relativement pessimiste, car on accorda à la version de 1f de Shanks le grand honneur d'être exposée à l'exposition universelle de Paris de 1937. Les calculs de Shanks dissimulaient un travail herculéen. Au cours de son travail, il dut calculer certains logarithmes jusqu'à la 137e décimale, et calculer la valeur exacte de 2721 . Un commentateur de l'époque victorienne observa: «Ces chaînes énormes de calculs prouvent non seulement la persistance et l'exactitude de ce mathématicien, mais ils sont aussi une preuve que le courage et l'habileté calculatoire augmentent dans la société. » [119, p.51] Mais le destin ne sourit pas à Shanks. Pour citer J.W. Wrench : « Son calcul des 607 premières décimales était faux au-delà de la 527-ième. L'inexactitude fut encore accrue par une bévue commise par Shanks en corrigeant ses épreuves au moment de la publication, de sorte que des erreurs similaires apparaissent en positions 460-462 et 513-515. Ces erreurs persistèrent lorsque Shanks publia son premier papier de 1873 contenant l'extension à 707 décimales de son approximation précédente. Dans son second article de 1873, il donna son approximation finale de 1f avec 707 décimales, et corrigea ces erreurs; cependant la 326e décimale est fausse, en raison d'une faute typographique. Rétrospectivement, il apparaît aujourd'hui que la première approximation de Shanks, les 530 décimales publiées en 1853, fut la meilleure approximation de celles qu'il publia jamais. » [122] L'erreur de Shanks dans le calcul de la 528e décimale de 1f passa inaperçue pendant de longues années. Celui qui vérifia les calculs le plus loin fut Richter, en 1854. Il arriva cependant aux décimales fausses. Ce ne fut qu'en 1946, 90 ans après Shanks, que l'erreur fut démontrée par Daniel Ferguson, qui fut d'ailleurs le dernier à effectuer à la main un calcul des décimales de 1f. Les soupçons sur la véracité du calcul de Shanks furent émis bien plus tôt. Le premier à douter de la précision du calcul de Shanks fut le mathématicien
Les expressions infinies
201
Augustus de Morgan (1806-1871) qui émit de sévères critiques à l'encontre de tous ceux qui s'intéressaient à la quadrature du cercle; il inventa la morbus cyclometricus (la quadraturite) , qui est la maladie de l'obsession de la quadrature du cercle. Il compta la fréquence de chaque chiffre dans la version à 607 décimales de l'approximation de 7r de Shanks, et conclut de la déficience du 7 que Shanks devait avoir fait une erreur. Il avait malheureusement raison. Cette affaire fut assez triste, montrant que quelqu'un peut travailler dur pendant des années et voir le fruit de son travail réduit à néant lorsque quelqu'un d'autre y jette un coup d'œil et s'aperçoit en moins d'une heure qu'il doit y avoir une erreur. Un progrès décisif sur 7r se produisit à la fin du XIX e siècle. Depuis longtemps, les mathématiciens professionnels pensaient, comme Michael Stifel (1487-1567), que 7r devait être non seulement irrationnel, mais même transcendant. Autrement dit, ils pensaient qu'il n'existe aucun polynôme à coefficients rationnels dont 7r put être racine; une conséquence de cette propriété est l'impossibilité de résoudre le problème de la quadrature du cercle à l'aide d'une règle et d'un compas. En 1882, cette conjecture se transforma en certitude. L'idée de la transcendance de certaines constantes fondamentales était dans l'air à cette époque. En 1873, Charles Hermite (1822-1901) avait prouvé la transcendance de e. La preuve décisive de la transcendance de 7r fut trouvée quelques années plus tard, en 1882, par Ferdinand Lindemann (1852-1939). Sa démonstration, extrêmement compliquée, a depuis été très simplifiée, et se trouve maintenant dans de nombreux livres [49, pp. 103-109]. Tout comme la démonstration de son irrationalité, celle de la transcendance de 7r est indirecte. L'argument clé est que si eX est racine d'une équation algébrique à coefficients rationnels, alors x doit être transcendant (et vice versa). Comme e i1f = -1, e i1f est rationnel, et il s'ensuit que i7r, et donc 7r est transcendant. Le dernier calcul record des décimales de 7r à avoir été obtenu à la main, ou avec l'aide tout au plus d'une calculette de bureau non programmable, fut exécuté dans les années 1945-1949. Ferguson et John Wrench Jr. effectuèrent le calcul le plus précis et le plus long jamais effectué, et déterminèrent les 1 120 premières décimales de 7r, juste avant l'avènement de l'ère de l'ordinateur.
L'ère de l'ordinateur Lorsque les ordinateurs entrèrent en lice pour la course aux décimales de 7r à la fin des années 1940, l'ère des calculs de quelques centaines de décimales s'acheva. En 1949, un des premiers ordinateurs électroniques, l'ENIAC (Electronic Numérical Integrator and computer) fut programmé pour calculer 2 037 décimales de 7r, en utilisant la formule en arc tangente de John Machin (5.20).
202
L'histoire de
7r
Le calcul prit 70 heures, i.e. plus que 2 minutes par chiffre. En 1957, F.E. Felton essaya de calculer 10 000 décimales, mais n'en obtint que 7 480 de correctes, en raison d'une panne. La barre des 10000 décimales fut atteinte l'année suivante par F. Genuys sur un IBM 704 en 100 minutes [13]. Le 29 juillet 1961, deux chercheurs d'IBM, Daniel Shanks et John W. Wrench Jr., franchirent la borne des 100000 décimales. Ils employèrent un IBM 7090, qui prit 8 heures et 43 minutes pour exécuter le calcul. Ils écrivirent un rapport détaillé [106] de leur projet dans lequel il expliquèrent leur lutte avec leurs algorithmes; aujourd'hui encore, ce témoignage reste pertinent. Comme leurs prédécesseurs, ils n'avaient à leur disposition que des séries en arc tangentes; celle de Stormer (5.19) pour le calcul effectif, et une de Gauss (5.22) pour la vérification, mais ils mirent au point au cours de leur travail quelques astuces d'optimisation. Toujours grâce à l'utilisation des formules classiques en arc tangente, le nombre de décimales connues augmenta petit à petit jusqu'à atteindre 1 million de décimales en 1973. Le calcul de 1 million de décimales de 7r prit juste un jour sur un CDC 7600. Bien que les ordinateurs fussent devenus plus puissants, le calcul de plus de décimales aurait fini par buter sur des obstacles insurmontables. Daniel Shanks, que nous avons mentionné ci-dessus, croyait encore en 1961 que personne ne réussirait jamais à calculer plus de 1 million de décimales de 7r. Castellanos [41] commenta cet affirmation en citant un proverbe chinois disant qu'il est dangereux de faire des prédictions, surtout quand elles portent sur l'avenir. En 1995, ce diction chinois n'arrêta pas Peter Borwein lorsqu'il prédit dans une conférence que l'on ne connaîtrait jamais la 1051 -ième décimale de 7r. Même si 1051 est un très grand nombre et que Peter Borwein est un éminent spécialiste de 7r, cette affirmation est bien hardie!
5
Les algorithmes ultra-performants
La troisième ère de la chasse aux décimales de 7r commença en 1980 quand le record mondial était encore aux alentours de 1 million de décimales. Ce fut à cette époque que deux progrès décisifs permirent de repousser les limites des calculs vers de nouveaux ordres de magnitude.
La multiplication rapide Le premier progrès survint en réalité en 1965 quand fut découvert un moyen de raccourcir incroyablement le temps de calcul d'un produit de deux nombres longs. La vieille multiplication scolaire fut supplantée par
Les algorithmes ultra-performants
203
la transformation de Fourier rapide. Lorsqu'on effectue une multiplication de deux nombres en utilisant cette méthode, on commence par calculer les transformées de Fourier rapides de ces deux nombres; on multiplie ensuite terme à terme ces deux transformées, puis on calcule la transformée de Fourier inverse du résultat du produit terme à terme. Le facteur critique dans cette méthode de multiplication est le fait que les trois transformées de Fourier puissent être calculées très rapidement, c'est-à-dire à une vitesse meilleure que quadratique (voir chapitre 11). La découverte de cet algorithme de multiplication fut plus ou moins une affaire de chance :
Pendant une séance du comité consultatif scientifique du président américain [Lyndon B. Johnson en 1964J, Richard W. Garwin apprit que Jean W. Tuckey, qui assistait à la séance, essayait de développer certains programmes pour la transformation de Fourier. Garwin ... se renseigna, ... et Tuckey lui exposa un plan de ce que devait ultérieurement devenir le célèbre algorithme de Coo1ey- Tuckey. Garwin alla au centre de recherche informatique d'IBM à Yorktown Heights pour qu'on lui programme la procédure. On demanda à James W. Coo1ey de s'en charger. Il venait en effet d'être recruté au centre de recherches, et il était le seul à ne pas travailler sur des projets plus importants. [38, p. 8]. À peine l'algorithme de Cooley-Tukey publié, on en chercha les sources historiques. Quelqu'un lut leur article et décrivit un programme qu'il avait lui-même écrit bien avant, et qui avait des performances similaires. Il attribua cette méthode à G.C. Danielson et C. Lanczos, et la data de 1942. Pour leur part, les auteurs firent référence aux thèses de C. Runge et H. Koenig en 1903 et 1924 [44]. Mais ces derniers n'avaient pas été les premiers à tenter de se servir de la transformation de Fourier rapide. Il semble qu'une fois de plus l'idée remonte à C.F. Gauss qui fut le premier à accélérer la transformation de Fourier, 100 ans avant quiconque [65].
Le temps nécessaire à une multiplication de deux nombres longs par la multiplication scolaire est d'ordre quadratique, tandis que la multiplication de ces deux nombres par la méthode de la transformation de Fourier rapide (TFR) ou par l'une de ses variantes ne demande qu'un temps en n log2 n. Avec la méthode TFR de multiplication, le temps de calcul du produit de deux nombres à n chiffres n'augmente pas beaucoup plus rapidement que n lui-même.
204
L'histoire de
Les algorithmes spécifiques à
7r
7r
Pour la mise au point d'algorithmes permettant de calculer beaucoup plus de décimales de 7r et beaucoup plus vite, outre un procédé de multiplication rapide, il manquait des algorithmes de calcul de 7r convergeant plus rapidement que ceux qui reposaient sur les séries en arc tangente. En 1976, ces dernières avaient été utilisées jusqu'au bout de leur possibilités. C'est à cette époque que de nouveaux algorithmes apparurent. Une de ces nouvelles méthodes était fondée sur des séries que le mathématicien indien Srinivasa Ramanujan (1887-1920) avait développées en 1914. En voici une, qui est cinq fois plus rapide que la plus rapide des séries connues jusqu'alors.
(13.49)
~ = 7r
v's ~ (4n)! 1103 + 26390n 9801 ~ (n!)4 396 4n n=Ü
L'algorithme MAG de Gauss fut une deuxième découverte importante dans ce domaine. C'est une méthode itérative qui permet de doubler à chaque étape le nombre de décimales correctes; on dit que cet algorithme converge quadratiquement vers 7r. Ainsi, les neuf premières itérations fournissent successivement 1,4,9,20,42,85,173,347 et 697 chiffres corrects de 7r [13, p. 53]. Cet algorithme fut découvert indépendamment en 1976 par Eugene Salamin et Richard Brent. Mais la formule sous-jacente avait déjà été découverte 170 ans plus tôt par le mathématicien allemand Carl Friedrich Gauss (voir chapitre 7). Salamin au moins était au courant de l'origine de l'algorithme quand il le publia. En 1985, les frères Borwein augmentèrent la liste des algorithmes ultraefficaces disponibles pour calculer de nombreuses décimales de 7r, lorsqu'ils publièrent des méthodes itératives dans le style de l'algorithme MAG de Gauss, qui convergeaient bien plus vite. Ainsi, dans «l'algorithme itératif quartique des Borwein », chaque étape de l'itération multiplie par quatre le nombre de décimales correctes. Grâce à cet algorithme, en 1999 le détenteur actuel du record du monde, Yasumasa Kanada, n'eut besoin que de vingt itérations pour calculer 206.1 milliards de décimales de 7r. La théorie des fonctions modulaires avait permis à Ramanujan d'obtenir sa série; les Borwein aussi utilisèrent cette théorie pour obtenir leur algorithme. Ce fut grâce à ces découvertes que, dans un emballement sans précédent dans l'histoire de 7r, le record du monde fut battu 26 fois en 19 ans, de 1981 à 1999. Il passa de 2 millions à 206.1 milliards de décimales. Le tableau en fin de ce chapitre récapitule ces différentes étapes.
205
Les algorithmes ultra-performants
Les nouveaux chasseurs de décimales de
7f
Il est remarquable que 18 des 39 records mondiaux soient reliés au nom de Yasumasa Kanada. Cet homme est directeur de recherche au Département des Sciences à l'université de Tokyo. Il dirige un laboratoire, le Kanada laboratory, qui est spécialisé dans les calculs ultra-performants. Pour exécuter ses calculs, Kanada employa des super-ordinateurs spéciaux, le dernier en date étant un Hitachi SR8000 contenant 128 processeurs. Ses exploits de calcul ont été accomplis grâce à des mises en œuvre de plus en plus élégantes des algorithmes des frères Borwein. Malheureusement, Kanada ne communique pas beaucoup sur ses exploits. En 2000 il venait seulement d'écrire un article en japonais sur son antépénultième record, celui où il avait obtenu 51.5 milliards de décimales [113J et il a brièvrement annoncé sur Internet son avant-dernier et son dernier record (68.7 et 206.1 milliards de décimales). Kanada ne répond pas à tous les courriels qui lui sont envoyés, et on connaît peu de détails sur son travail. Encore plus discrets que Kanada, ses deux concurrents dans la chasse aux décimales de 7r, les frères Chudnovsky furent mentionnés six fois comme étant détenteurs du record. Un article biographique détaillé sur ces deux frères parut dans le New Yorker en mars 1992; cet article était intitulé Les montagnes de 7r, et était signé par Richard Preston [92J. Il décrivait la vie solitaire de David et Gregory Chudnovsky dans leur appartement de Manhattan, où ils effectuèrent leurs calculs de décimales de 7r sur un ordinateur de leur fabrication, appelé rn-zéro, assemblé à partir d'éléments achetés dans le commerce. L'argent utilisé pour financer leur travail provenait de leurs épouses, car les Chudnovsky n'avaient pas réussi à trouver de postes dans des universités, bien qu'ils eussent battu des records en théorie des nombres. Dans son article, Preston avança l'hypothèse selon laquelle ces difficultés viendraient notamment d'une maladie dont souffre Gregory, une myasthénie qui l'oblige à rester alité. En préparant The Joy of 7r [28], le petit livre qu'il publia en 1997, David Blatner essaya de savoir ce qu'étaient devenus les frères Chudnovsky. Il découvrit qu'ils avaient récemment ouvert un nouveau bureau à l'université Polytechnique de Brooklyn, appelé Institut de mathématiques et de calculs complexes avancés qui n'emploie que deux personnes, les frères Chudnovsky eux-mêmes. Ils ne vivent plus à Manhattan. Peu avant leur déménagement, ils effectuèrent un dernier calcul de décimales de 7r avec leur rn-zéro, cette fois-ci 8 milliards de décimales, ce qui leur demanda une semaine, vérification comprise. Ce fut à l'époque le nouveau record. Ils abandonnèrent alors la chasse aux décimales, et détruisirent leur ordinateur. Il semble que les spécialistes ne croient pas tout à fait les frères Chudnovsky. Quand Yasumasa Kanada annonça un de ses records mondiaux, les frères
206
L'histoire de
7r
Chudnovsky dirent qu'ils étaient déjà parvenus plus loin. Kanada leur envoya alors une séquence de chiffres extraite de son calcul, en leur indiquant la position de cette séquence dans le développement décimal de 7r, et il leur demanda d'en faire autant; ils ne répondirent pas. Depuis 1981, en dehors de Kanada et des frères Chudnovski, seulement deux autres personnes ont détenu le record de calcul des décimales de 7r. Il s'agit de Gosper et de Bailey. Comme on l'a déjà indiqué plus haut, Gosper calcula en 1985 17 millions de décimales de 7r en utilisant la série de Ramanujan (13.49). Il ne disposait pas d'un super-ordinateur mais d'une station de travail Symbolics 3670, qui présente tout de même l'avantage sur les ordinateurs standard de travailler en précision illimitée. Quand il annonça son record, Gosper insista sur le fait qu'il n'avait pas calculé le développement décimal, mais le développement en fraction continue de 7r; sa séquence ne commençait donc pas par 3,1,4,1,5, mais par 3,7,15,1,292. Gosper espérait ainsi arriver à une compréhension plus profonde de la nature du nombre 7r ; pour certains spéciailstes de la théorie de nombres, la représentation en fraction continue est en effet plus instructive que le développement décimal. Le calcul de Gosper montra l'absence de régularité de ce développement, ce qui conforta la conjecture de normalité de 7r (voir chapitre 4). Après son calcul de la fraction continue de 7r, Gosper convertit le résultat en développement décimal, dans le seul but de pouvoir contrôler le calcul. David Bailey travaille au centre de recherche Ames de la NASA en Californie. Il a publié de nombreux articles sur les calculs ultra-efficaces, et c'est l'un des auteurs de l'algorithme BBP. Entre le 7 et le 9 janvier 1986 il calcula en 28 heures, 29 millions de décimales de 7r, et écrivit un mémoire sur ce calcul [9]. Dans ce mémoire, il explique entre autres choses que le but principal de son calcul était de tester le matériel (un super-ordinateur Cray 2), le système d'exploitation et le compilateur. Il écrivit son programme de calcul en FORTRAN parce que le compilateur de ce langage de programmation était capable d'exploiter particulièrement bien les propriétés du processeur vectoriel du Cray. Le calcul réel demanda 12 itérations de l'algorithme quartique de Borwein et la vérification demanda 24 itérations de l'algorithme quadratique de Borwein. Le rapport contient aussi des statistiques sur les fréquences des différents chiffres, mais celles-ci ne donnèrent rien de frappant.
6
La chasse aux décimales individuelles de
7r
Nous avons déjà cité l'observation d'Adamchik et Wagon selon laquelle « en 2000, les recherches sur les décimales de 7r s'orientent dans une nouvelle direction». Aujourd'hui on cherche un nouveau type de record sur 7r, illustré par une affirmation comme La quarante billionnième décimale de 7r est un O.
La chasse aux décimales individuelles de
1r
207
Ce qui justifie de telles recherches, c'est l'algorithme BBP, publié en septembre 1995 par David Bailey, Peter Borwein et Simon Plouffe, et nommé ainsi en raison des initiales de ses auteurs. Avec cet algorithme il est possible de calculer tout chiffre du développement hexadecimal de 1r sans avoir à calculer tous les chiffres précédents. Cette méthode est décrite en détail au chapitre 10. Cet algorithme a ouvert une nouvelle voie dans l'étude des développements de 1r, en rendant possible la recherche de chiffres situés très loin dans le développement. Le premier point de repère fut donné par les trois chercheurs eux-mêmes avec le 10 milliardième chiffre hexadécimal de 1r, correspondant au 12 milliardième chiffre du développement décimal. Lors de la publication de leurs données en septembre 1995, ce chiffre était placé presque deux fois plus loin dans le développement de 1r que le dernier chiffre calculé par la voie traditionnelle. Une année plus tard, un étudiant du nom de Fabrice Bellard alla encore plus loin. Il découvrit une meilleure formule et l'employa pour calculer le 100 milliardième (octobre 1996) et le 250 milliardième (septembre 1997) chiffre hexadécimal de 1r, qui étaient respectivement placés 10 et 25 fois plus loin dans le développement hexadécimal de 1r. Ces nouveaux records furent rapidement dépassés avec le calcul de certains chiffres hexadécimaux placés dans des positions de l'ordre du billion (en français, un billion = 10 12 ) : le 1.25 billionnième (août 1998), le 10 billionnième (février 1999) et le 250 billionnième (ll septembre 2000) ; ces calculs améliorèrent respectivement le précédent record d'un facteur 5, 20 et 1 000. Le détenteur des deux records était Colin Percival, un étudiant de l'université Simon Fraser à Burnaby, Canada, où exercent maintenant aussi les frères Borwein et Simon Plouffe. Il commença ses études à l'université à l'âge de 13 ans tout en continuant ses études secondaires (au Canada c'est possible), et il acheva un projet scientifique important avant même d'avoir fini ses études secondaires. Bien que la formule utilisée par Percival ne fût pas nouvelle (c'était en fait la formule de Bellard (10.8)), pour le calcul lui-même il employa une approche inhabituelle qui pourrait bien devenir une approche courante dans les années à venir (voir aussi chapitre 15). Ce qui était nouveau, c'est qu'il obtint sur Internet la coopération de 1 734 ordinateurs basés dans 56 pays différents, et qui tous effectuèrent des fragments du calcul pendant qu'ils n'étaient pas utilisés à autre chose. Percival assembla alors les résultats. De cette façon il obtint en moins de deux ans l'équivalent de presque 700 ans de calcul. Ici s'arrête notre excursion à travers 4 000 ans de recherche sur 1r. Les étapes les plus marquantes sont résumées dans les tableaux des pages suivantes. Nous connaissons le début et une partie de cette histoire. La fin n'est pas pour demain.
208
L'histoire de
Qui?
Quand?
Nb. de décimales
Aigorithme l
2000? av. J.-C 1 3 + 1/8 Babylone 1 4. (8/9)2 Égypte 2000? av. J.-C Inde 600? av. J.-C 0 4· (9785/11136)2 440? av. J.-C 0 'iT=3 Bible Platon c. 380 av. J.-C 2 J2+V3 2 pgm(96) Archimède c. 250 av. J.-C c. 130 ap. J .-C 1 V16 Zhang Heng Ptolémée 150 3 377/120 c.250 1 142/45 Wang Fan Liu Hui 263 5 pgm(192) Tsu Chhung-Chih c. 480 7 pgm(12288) 499 Aryabhata 3 pgm(384) 1 V16 Brahmagupta 640? Alkarism 830 3 62832/20000 Fibonacci 1220 3 864/275 c. 1320 Dante 3 3 + J2/1O AI-Khashî 1430 16 pgm(3·228 ) c. 1501 Nilakantha 9 104348/33215 Viète 1579 9 pgm(3 . 217 ) 15 pgm(2 2O ) Romanus 1593 1596 20 pgm(15·235 ) Ludolph van Ceulen Ludolph van Ceulen 1615 35 pgm(2 62 ) 1621 34 pgm(2 3O ) Snell Grienberger 1630 39 pgmO 15 N Newton 1665 Sharp 1699 71 G Machin 1706 100 M 111 G De Lagny 1719 Takebe 1723 41 Matsunaga 1739 50 H 1794 Vega 136 E Rutherford 1824 152 E 1844 Dase 200 S Clausen 1847 248 M 261 H Lehmann 1853 W. Shanks 1853 530 M Ferguson 1945 530 L 1946 Ferguson 620 L Ferguson 1947.01 710 L Ferguson,Wrench 1948.01 808 M 1949.06 Smith, Wrench 1,120 M 1 pgm(x) = polygones à x côtés. Series: E=Euler (5.25), G=Gregory (5.3), H=Hutton (5.17), L=Loney M=Machin (5.20), N=Newton (16.63), S=Strassnitzky (16.108), TAB.
13.1 - Histoire de
7r,
ère pré-ordinateur
7r
Commentaire
223 < 'iT < 22 71
7
'iT -- 355 113
2'iT
dern. util. pgm 1ère ut il. séries 127 total 140 total 208 total
dern. calcul/ma calcul/machine
(5.18),
La chasse aux décimales individuelles de
Qui?
Quand?
209
7f
Précision Algo"
Temps Ordinateur
Reitwiesner 1949.09 70 h 2,037 M Nicholson, Jeenel 1954.11 M 0:13 h 3,092 Felton 1957 7,480 K 33 h Genuys 1958.01 1 :40 h 10,000 M Felton 1958.05 10,020 K 33 h Guilloud 1959 16,167 M 4 :18 h 8hanks, Wrench 1961.07 8 :43 h 100,265 SI Guilloud, Filliatre 1966.02 250,000 41 :55 h G Guilloud, Dichampt 1967.02 28 :10 h 500,000 G Guilloud, Boyer 1973 1,001,250 23 :18 h G Miyoshi, Kanada 1981 2,000,036 K 137 :18 h Guilloud 1981-82 2,000,050 Tamura 1982 2,097,144 G2 7 :14 h Tamura, Kanada 1982 4,194,288 G2 2 :21 h Tamura, Kanada 1982 8,388,576 G2 6 :52 h Kanada, Yoshino, Tamura 1982 16,777,206 G2 < 30 h Gosper 1985.10 17,526,200 R Bailey 1986.01 29,360,111 B4 28 h Kanada, Tamura 1986.09 33,554,414 G2 6 :36 h Kanada, Tamura 1986.10 67,108,839 G2 23 h Kanada et al. 1987.01 134,217,700 G2 35 :15 h Kanada, Tamura 1988.01 201,326,551 G2 5 :57 h Chudnovsky's ;:;j 6 mois 1989.05 480,000,000 ? C Chudnovsky's 1989.06 525,229,270 C > 1 mois? Kanada, Tamura 1989.07 536,870,898 G2 67 :13 h Chudnovsky's 1989.08 1,011,196,691 ? C > 2 mois? Kanada, Tamura 1989.11 74 :30 h 1,073,741,799 G2 Chudnovsky's 1991.08 2,260,000,000 ? 250 h? C Chudnovsky's 1994.05 4,044,000,000 ? inconnu C Takahashi, Kanada 1995.06 3,221,225,466 B4 36 :52 h Takahashi, Kanada 1995.08 4,294,967,286 B4 113 :41 h Takahashi, Kanada 1995.10 6,442,450,938 B4 116 :38 h Chudnovsky's 1996.03 8,000,000,000 inconnu C Takahashi, Kanada 1997.04 17,179,869,142 G2 5 :11 h Takahashi, Kanada 1997.05 15 :19 h 34,359,738,327 B4 Takahashi, Kanada 1997.07 51,539,607,510 B4 29 :03 h Takahashi, Kanada 1999.04 68,719,470,000 B4 32 :54 h Takahashi, Kanada 1999.09 206,158,430,000 G2 37 :21 h Kanada,Ushiro,Kuroda 2002.11 1,241,100,000,000 T,S2 600 h l Series: M=Machin (5.20), G=Gauss (5.22), K=Klingenstierna (5.21) 81=8t0rmer (5.19), R=-=Ramamanujan (13.49), C=Chudnovsky (8.7). Itérations: G2=Gauss AGM , B4=Borwein quartic TAB.
13.2 - Histoire de
7f,
ère de l'ordinateur
ENIAC NORC Pegasus IBM 704 Pegasus IBM 704 IBM 7090 IBM 7030 CDC 6600 FACOM MELCOLM HIT M-280R HIT M-280R RIT M-280R 8ymbolics 3670 CRAY-2 HIT 8-810/20 HIT 8-810/20 NEC SX-2 8-820 CRAY-2 IBM-3090 RIT 8-820/80 IBM-3090 RIT S-820/80 rn-zero inconnu RIT S-3800 RIT 8-3800 RIT S-3800 1 semaine? HIT SR2201 HIT SR2201 RIT 8R2201 RIT SR8000 HIT 8R8000 HIT 8000MP
210
L'histoire de
Qui? Bailey, P. Borwein, Plouffe Bellard Bellard Percival Percival Percival
Quand?
Position Hexadecimale
1995.09 1996.10 1997.09 1998.08 1999.02 2000.09
1010 1011 2.5.10 11 1.25 . 10 12 10 ·1012 250.10 12
TAB.
Formule
Séquence Hexadecimale
BBP Bellard Bellard Bellard Bellard Bellard
921C73C683 9C381872D2 87F7281DC9 07E45733CC AOF9FF371D E62168069C
... ...
... ... ...
...
13.3 - Histoire des records de calcul de décimales
Ir
14 Notes historiques 1
La plus ancienne quadrature du cercle?
Sur le cercle de rayon 5, il y a 12 points dont les coordonnées sont entières. Ce sont les 4 points d'intersection du cercle et des axes, (±5,0) et (0, ±5) et les 8 points de coordonnées (±3, ±4) et (±4, ±3), correspondant à des triangles rectangles de côtés de longueurs 3, 4 et 5. Ces points sont illustrés sur la figure de gauche ci-dessous. (0 125) 35,120) 25.,/2 44,117)
0
5 .,/2
(75,100)
3.,/2v'5
(0,0)
(125,0)
Ces 12 points sont les sommets d'un polygone dont 8 côtés ont comme longueur V2 x J5 et dont les 4 autres côtés ont comme longueur V2. Le diamètre de ce polygone est 10, et sa longueur est 8 x V2 x J5 + 4V2 ;:::;; 30,9550 ... Cela donne comme approximation de 7r, 3,09550 ... Si l'on fait subir au cercle de rayon 5 une homothétie de rapport 5, on obtient un cercle de rayon 25 qui, outre les 12 points images des 12 points à coordonnées entières du premier cercle contient 8 nouveaux points à coordonnées entières, (±24, ±7), (±7, ±24). Il y a donc 20 points à coordonnées entières, qui forment les sommets d'un polygone dont 12 côtés ont comme longueur 5V2, et dont les 8 autres côtés ont comme longueur 4J5. Ce polygone fournit une approximation de 7r qui est 7r, 3,12814 ... Si l'on fait subir au dernier cercle une nouvelle homothétie de rapport 5, on obtient un cercle de rayon 125 qui contient 28 points à coordonnées entières,
212
Notes historiques
les images des 20 points du cercle précédent, et les points de coordonnées (±117, ±44) et (±44, ±117). Ces 28 points sont les sommets d'un polygone possédant vingt côtés de longueur 25V2 et 8 côtés de longueur 3V2VS; ce polygone fournit une approximation de 'if qui est 3.13200 ... Cette construction peut être itérée. On déduit chaque nouveau cercle du précédent par une homothétie de rapport 5. Le nouveau cercle contient 8 points à coordonnées entières de plus que son prédécesseur. Les longueurs des côtés du polygone s'écrivent comme des multiples de V2 ou de V2VS. Cette procédure très simple aurait certainement enthousiasmé Pythagore; elle fut découverte par Franz Gnaedinger de Zurich [59] ; la démonstration complète de la construction est attribuée à Christoph Poeppe. Lorsqu'il publia sa construction, Gnaedinger indiqua également d'autres constructions géométriques simples pour déterminer les coordonnées des sommets; il conçut aussi des méthodes très simples pour déterminer des valeurs approchées aussi précises que l'on veut de V2 et de VS. Voici par exemple une construction d'un tableau de nombres permettant de trouver des valeurs approchées de V2 : 112 2
3
5
12
4
7 29
17 70
10 41
24 99
58 140
La règle de construction du tableau est facile à reconstituer. Les fractions 10/7 et 7/5 sont des approximations simples de V2. Mais 24/17 et 17/12 sont meilleures, et 140/99 et 99/70 sont encore meilleures. Franz Gnaedinger est avant tout un égyptologue, et il chercha à savoir si « ces bons vieux Égyptiens» avaient eu connaissance de cette méthode. Sa conclusion est que c'est très probable. D'abord, les anciens Égyptiens avaient une bonne raison pour mesurer des cercles. Le hiéroglyphe associé au dieu du soleil Râ était un cercle. Si l'on pouvait seulement comprendre le cercle et sonder son nombre secret, alors on serait en mesure de partager une partie des pouvoirs de Râ. Ensuite, les Égyptiens furent assez précoces en mathématiques. Ils étaient déjà au fait des triangles pythagoriciens (triangles rectangles dont les longueurs des côtés sont des nombres entiers) ; les plus simples d'entre eux ont des côtés dont les longueurs sont des multiples de 3, 4 et 5 et les Égyptiens les qualifiaient de « triangles sacrés».
Une loi sur
7r
213
Selon Gnaedinger, tous les éléments d'une méthode d'approximation de 7r et de bien d'autres nombres se trouvent dans le complexe funéraire du pharaon Zoser à Saqqarah dans la pyramide de Chéops et dans celle de Chéphren, par exemple: • Saqqarah: 17/12 pour
v'2
• Saqqarah: de nombreux triangles pythagoriciens • Pyramide de Chéphren : demi section transversale
=
triangle sacré
• Pyramide de Chéops: le triangle sacré 15 - 20 - 25 dans la chambre royale • Pyramide de Chéops: 140/99 pour
v'2 et
• Pyramide de Chéops: base x 2/hauteur
161/72 pour )5
= 22/7 c'est-à-dire à peu près
7r.
Gnaedinger s'est principalement intéressé au génie architectural visionnaire d'Imhotep, qui aux alentours de 2600 av. J.-C. conçut la monumentale pyramide de Saqqarah près de la ville antique de Memphis; ce monument fut érigé à la gloire et pour la vie éternelle du pharaon Zoser. Pour étayer sa théorie, Gnaedinger cite d'autres égyptologues qui pensent qu'Imhotep aurait très bien pu avoir développé de bonnes approximations de 7r selon la procédure ci-dessus, et aussi d'excellentes approximations rationnelles de v'2 et de )5, par une construction semblable à celle du tableau ci-dessus. Après seulement deux itérations avec le polygone à 20 côtés, il aurait obtenu l'approximation 7r ~ 3.128 ... , qui est bien meilleure que (16/9? = 3.160 ... qui se trouve dans le papyrus Rhind daté de 1850 av. J.-C. et qui fut probablement découverte empiriquement (voir chapitre 13). Cette version plus précise de 7r aurait été découverte plus de 700 ans plus tôt.
2
Une loi sur
Jr
Il y a un peu plus d'une centaine d'années, une loi fixant à 3.2 la valeur de 7r failli être votée dans l'État d'Indiana, aux États-Unis. L'histoire amuse surtout les Américains, peut-être parce qu'elle se produisit dans leur pays et se termina finalement bien, à moins que ce ne soit parce qu'un vice-président peu populaire venait de cet État. À la fin du XIX e siècle vivait à Solitude, dans l'Indiana, un médecin de campagne qui s'appelait Edward Johnston Goodwin (1828 ?-1902). Selon sa biographie, cet homme découvrit la véritable valeur du nombre 7r par des moyens surnaturels au cours des premières semaines du mois de mars 1888. À proprement parler, sa « révélation» dut comporter plusieurs valeurs de 7r, car dans une lettre qu'il adressa à l'American Mathematical Monthly, il donna en réalité cinq valeurs différentes de 7r, allant de 2.56 à 4.0.
214
Notes historiques
Il déposa des demandes de brevets dans plusieurs pays, dont l'Allemagne et l'Autriche. Il persuada ensuite un élu de sa ville natale d'introduire un projet de loi sur sa nouvelle découverte mathématique. Le texte de loi fut écrit par le Dr. Goodwin lui-même. Il y décrivait 1f littéralement, ainsi qu'il l'avait déjà fait dans l'American Mathematical Monthly, de plusieurs façons. Le projet de loi 246 contient par exemple, ce passage: ... révélant le quatrième fait important, que la proportion du diamètre sur la circonférence est comme cinq quarts à quatre ... Ce «fait» donne une valeur de 1f de 16/5 = 3.2. Ailleurs dans le texte sont données trois autres valeurs de 1f : « l'aire = (circonférence/ 4)2 donne une valeur 1f = 4, l'aire = 6 x (circonférence/4)2/5 donne la valeur 1f = 10/3 = 3.33333, tandis que 1f = 32/9 = 3.555556 est obtenu grâce à l'égalité diamètre / (circonférence / 4) = 9/8 ». Le projet de loi franchit le premier obstacle avec la chambre des représentants de l'Indiana le 5 février 1897. Après délibération de la commission responsable, le projet de loi fut transmis au sénat pour confirmation, avec un avis favorable. Pour la défense des représentants on doit dire qu'ils n'étaient préoccupés que des bénéfices commerciaux qu'ils comptaient en tirer pour leur État, et que sur le plan mathématique, ils faisaient entièrement confiance à la réputation du Dr Goodwin. Un représentant expliqua que si cette loi était votée, son auteur accorderait à son État natal le droit d'utiliser sa découverte gratuitement en la publiant, par exemple, dans les manuels scolaires, tandis que le reste du monde devrait payer des droits pour l'utiliser. Par chance pour la réputation de l'Indiana le professeur C.A. Waldo de l'université Purdue visita ce jour-là la chambre des représentants et assista à la séance de la commission. Il indiqua aux sénateurs les faiblesses du projet de loi, et ceux-ci le mirent en attente, où il est encore. Un des historiens ayant étudié cet événement, David Singmaster, nota que Goodwin fut l'un des rares « quadrateurs du cercle» à proposer plusieurs valeurs de 1f [110]. La valeur moyenne de toutes celles qu'il proposa pour 1f à travers ses articles, et dans le projet de loi mentionné ci-dessus a été calculée par Singmaster; c'est 3.28907. Cette histoire parut dans le journal allemand Die zeit (1997/28, 4 juillet 1997). Elle fut accompagnée de ce commentaire: «Avant de rire et de se moquer des institutions de l'Indiana et de l'ignorance générale qui régnait en 1897, on devrait réfléchir au destin qu'un tel projet de loi rencontrerait si aujourd'hui il était soumis au référendum. »
L'histoire de Bieberbach
3
215
L'histoire de Bieberbach
Pendant les années 1930, l'Allemagne nazie fut la toile de fond d"un triste épisode de l'histoire de 7r. De 1909 à 1933 le mathématicien juif Edmond Landau (1877-1938) poursuivit une brillante carrière à l'université de Gôttingen, centre mathématique renommé qui regroupait des mathématiciens aussi célèbres que David Hilbert, Félix Klein et Emmy Noether. Dans ses cours de calcul différentiel et intégral, Landau employait la définition de 7r qui est aujourd'hui considérée comme normale: 7r /2 est le plus petit zéro positif de la fonction cosinus. Dans le style concis qui était le sien, Landau écrivit dans un livre de cours: «La constante universelle du théorème 262 sera notée 7r» [51, p. 130J. En 1933 Landau fut révoqué de sa chaire sur un critère racial. Plus tard, un éminent collègue de Landau ajouta l'affront à la blessure en suggérant que le licenciement de Landau était motivé par des considérations liant mathématique et psychologie. Ce collègue berlinois de Landau était Ludwig Bieberbach, spécialiste de la théorie des fonctions. En juin 1934 il écrivit les lignes suivantes dans un traité sur la structure de la personnalité et la créativité mathématique: Ainsi ... le vaillant rejet par le corps des étudiants de Gôttingen qu'un grand mathématicien, Edmund Landau a subi, est dû au fait que le style non-allemand que cet homme met dans sa recherche et dans son enseignement est insoutenable pour des sensibilités allemandes. Un peuple qui a perçu, comment des désirs étrangers de domination rongent son identité, comment les membres d'une autre race travaillent pour imposer des idées étrangères aux siennes doit refuser les professeurs d'une culture étrangère. En 1934, le mathématicien anglais Godfrey H. Hardy qui fut, ainsi que nous l'avons vu le mentor de Ramanujan, répondit ainsi à Bieberbach: Pendant la première Guerre, beaucoup d'entre nous, beaucoup d'Anglais et beaucoup d'Allemands, avons dit des choses que nous pensions à peine et que nous regrettons maintenant de nous rappeler. La crainte peut-être pour son propre poste, l'effroi d'être entraîné dans ce torrent de folie en crue, la détermination à tout prix de ne pas être surpassé, tout cela est naturel mais ne constitue pas une excuse particulièrement héroïque. La réputation du professeur Bieberbach exclut de telles explications de ses assertions; et je suis conduit à la conclusion peu charitable qu'il les croit vraies.
15 L'avenir: calculs sur le Net Dans ce chapitre nous allons décrire une procédure de calcul distribué de 7[, c'est-à-dire une méthode de calcul de 7[ par petits morceaux indépendants qui peuvent être assemblés et utilisés ultérieurement. Avec cette approche, une grande partie du travail de calcul peut être partagée entre de nombreux petits ordinateurs connectés à Internet. Cela présente l'avantage de réserver l'usage des super-ordinateurs très coûteux aux parties du calcul qu'ils sont seuls capables d'exécuter. L'algorithme utilisé est appelé «algorithme du découpage binaire », que nous appellerons par son nom d'origine binsplit. Cet algorithme, qui circule depuis déjà quelques temps a récemment été réhabilité par Bruno Haible [62]. Il repose sur une série qui avait cessé d'être employée dans la chasse aux décimales de 7[ depuis l'apparition des algorithmes ultra-rapides. Cependant, ici, le facteur critique est la vitesse de convergence. Avec ceci en tête, il n'est pas étonnant que la série favorite pour l'algorithme binsplit soit celle qu'avaient utilisée les frères Chudnovsky, (8.7) qui fournit 15 décimales supplémentaires à chaque terme.
1
l'algorithme binsplit
Nous allons à présent établir les principes sous-jacents à l'algorithme binsplit. Ils sont en fait très simples. Nous souhaitons d'abord calculer la somme '2:.{:':01 ak, où les (ak) sont des nombres rationnels. La méthode naïve demande un temps proportionnel à N. On peut améliorer ce temps, en utilisant le quotient (15.1) après avoir posé
a-l
= 1.
On a alors
N-l (15.2)
L
k=O
ak = ro(1
+ rl(1 + r2(1 + r3(1 + ... (1 + rN-I)))))
218
L'avenir: calculs sur le Net
Posons, pour tout n et m
(15.3) (15.4) On a alors
(15.5) avec, en particulier n
( 15.6)
rO,n
=
Lak k=O
On a également, pour tout j E {m, ... ,n - 1}
(15.7)
rm,n
= rm
+ rmrm+l + rmrm+lrm+2 + ... ... rj + r m ... rjrj+l,n
rm
= rm,j +
(rr
r k ) rj+l,n
k=m
Donc, pour tout j E {m, ... , n - 1}
(15.8) Notons que tous les termes utilisés sont des nombres rationnels. On peut ainsi définir l'algorithme binsplit à l'aide d'une simple fonction récursive. rational function r (rational function a, int m, int n) {
rational ret; if m==n then
{
}
ret
a(m)/a(m-l)
else {
}
}
x := floor( (m+n)/2 ) ret := r(a,m,x) + a(x) / a(m-l)
return ret
*
r(a,x+l,n)
L'a Igorith me binsplit
219
Ici, a est une fonction dont la valeur a(k) est le k-ième terme de la série à sommer. À titre d'exemple, pour arctan(1/10) function a(int k) {
}
if k
return 1 return (-1)-k/«2*k+l)*10-(2*k+l))
N
L'appel r(a,O,N) rendra la somme
Lak. k=O
Si l'on détaille par exemple le calcul de r (., 0,7), il est clair que cette procédure est meilleure que le calcul direct. Voici tout d'abord la structure récursive: 1'0,7 1'0,3 ,----''''---... 1'0,1 ~
1'0,0
1'3,3
1'4,4
Chaque nœud correspond à un appel de la fonction r, celui du haut à l'objectif du calcul, r ( . ,0,7) ; tous les nœuds inférieurs résultent d'appels récursifs de la fonction r par elle-même. Pour arctan(1/10), on a ainsi: 4489574451464393497
+ 45045000000000000000 ,------------------~----------------~ 4964393497 20930417
+ 210000000
643500000000
,-----''----...,
,~------~"-------..., -7637 -16357 990000 1950000
+299 3000
-417 70000
~
+
1 10
1 - 300
3 - 500
~
7
- 900
9
- 1100
11 -1300
,
13 -1500
Les nombres entiers qui forment les numérateurs et les dénominateurs des nombres rationnels de la ligne k (en partant du haut) s'écrivent avec approximativement N log( N) /2k chiffres, où N est le nombre de chiffres du résultat final. Si l'on suppose, pour simplifier, que le temps de calcul d'une multiplication augmente linéairement avec NI, on peut montrer ([62]) que lEn fait, la multiplication s'effectue en NlogN . log log N, que l'on peut obtenir par l'algorithme de Schéinhage-Strassen [104].
220
L'avenir: calculs sur le Net
sous des hypothèses raisonnables, le temps total de calcul est proportionnel à M(N) .10g(N?, où M(N) indique le temps mis pour effectuer une multiplication de deux nombres de N chiffres (Sur la ligne k de l'arbre il y a proportionnellement 2k multiplications de nombres de N log( N) /2k chiffres.) De cette façon, une série convergeant linéairement, mais assez vite peut de nouveau être prise en considération pour attaquer un record de calcul de décimales de 7r. En réalité, nous avons triché un petit peu: s'il est vrai que les termes r( m, n) qui interviennent dans notre arbre sont d'une longueur proportionnelle à n - m, il est aussi vrai que les termes a( n) qui interviennent au cours de la récurrence sont aussi de longueur n, si bien que les membres de droite de l'arbre sont toujours de longueur maximale. Ce n'est en réalité pas si mauvais, parce que les quotients a(k)/a(j) qui apparaissent sont encore d'une longueur proportionnelle à k - j. Voici donc une fonction qui calcule ce quotient sans détour impliquant de très longs termes rational function a(int k, int j)
{
}
if j
return (-1)-k/«2*k+l)*10-(2*k+l)) return (-1)-(k-j)*(2*j+l)/(2*k+l)/10-(2*(k-j))
La fonction qui définit notre algorithme est alors: function r(function a, int m, int n) {
rational ret; i f m==n then { }
ret
a(m,m-l)
else {
}
}
x := floor( (m+n)/2 ) ret := r(a,m,x) + a(x,m-l) * r(a,x+l,n)
return ret
L'intérêt de cet algorithme est qu'une fois calculée, chaque fraction peut être utilisée ultérieurement pour des calculs plus précis. Supposons par exemple que le record du monde courant de calcul des décimales de 7r ait fourni N décimales. On a donc calculé r ( . , 0, N-1). Supposons également que les progrès techniques permettent maintenant d'effectuer des calculs avec des nombres s'écrivant avec 2N chiffres. Il s'agit de calculer r(. ,O,2N-1) pour établir un nouveau record. Ce n'est pas une difficulté, car d'après la formule (15.9) on a
Le projet
7r
221
sur Internet
(15.10)
rO,2N-l
=
rO,N-l
+ aN-l r N,2N-l
Nous avons déjà rO,N-I, et c'est donc rN,2N-l qui doit être calculé. Cela peut être fait sur le « vieil» ordinateur et pourrait donc aussi être calculé à l'avance. Le nouveau super-ordinateur n'interviendra qu'à la fin du calcul, pour exécuter l'ultime itération.
2
Le projet
7r
sur Internet
Armé de l'algorithme binsplit, nous allons maintenant décrire le projet de calcul des décimales de 7r sur Internet. Au lieu de parler du nombre de chiffres, nous allons considérer la taille de la mémoire. Cela n'est pas une restriction, car les deux nombres sont proportionnels, avec par exemple 2 décimales par octet. Nous supposerons donc que notre super-ordinateur a une mémoire de 1 térabyte (TB), i.e. 240 octets. Cette mémoire peut être divisée 40 fois, jusqu'à un octet; ainsi la profondeur de récurrence de l'algorithme binsplit sera ici de 40 (en réalité, un peu moins si la série converge rapidement). La structure des calculs à effectuer est donnée par un arbre du type de celui que l'on a vu plus haut. Compte tenu de cette structure, nous pouvons répartir le travail en 3 niveaux: • Au sommet de la pyramide se trouve le super-ordinateur. Il prendra en charge aussi peu de lignes de l'arbre que possible, seulement celles qui font intervenir des nombres si longs qu'aucun autre ordinateur ne peut les prendre en charge. • Pour les lignes inférieures de l'arbre de calcul, il faut beaucoup de volontaires reliés à Internet et disposant d'ordinateurs équipés d'une mémoire raisonnable, et surtout pas occupés en permanence. Les calculs seront effectués sur ces ordinateurs personnels durant les moments où leur processeur n'est pas occupé. Comme ces ordinateurs ne disposent que d'une mémoire réduite (loin du TB), la mémoire virtuelle sera multipliée par un facteur variant de 4 à 16 grâce à une transformation de Fourier rapide faisant appel au disque dur de l'ordinateur. Un ordinateur de base ayant 1Gb de mémoire vive peut ainsi fonctionner comme s'il avait 16Gb de mémoire, c'est-à-dire 234 bytes. Cela signifie que les ordinateurs des volontaires sur Internet pourraient prendre en charge les 34 premières lignes de l'arbre, c'est-à-dire plus des trois quarts du calcul. Il ne fait aucun doute que les ressources actuelles des processeurs sont largement suffisantes pour cela: pour décoder une clé de cryptage, un projet distribué a récemment permis de réaliser l'équivalent de 500 000 ans de calculs sur un ordinateur réalisant 1 million de cycles par seconde.
222
L'avenir: calculs sur le Net
Il reste le problème des six dernières lignes: compte tenu du coût des superordinateurs, il faudrait éviter d'effectuer les calculs de ces six lignes sur un super-ordinateur . • On pourrait faire appel à un fabricant de stations de travail, lui demandant de mettre à la disposition du projet un ordinateur équipé de 16 GB de mémoire vive et de gros disques durs, sur lequel on pourrait calculer trois rangées supplémentaires, celles allant jusqu'à 128 GB. De cette façon le super-ordinateur ne serait indispensable que pour le calcul des trois dernières lignes, avec des opérations nécessitant 256,512 et 1024 GB. Il ne faut pas oublier que la série des Chudnovsky réclame aussi le calcul d'une racine carrée. Ce n'est pas un obstacle majeur: pour les racines de nombres entiers, on possède d'excellents algorithmes d'approximation par des nombres rationnels. Par exemple, si l'on part de ua/va comme approximation initiale de Vd, la formule itérative
(15.11)
un
double à chaque étape le nombre de chiffres corrects. L'algorithme binsplit calcule séparément les numérateurs et les dénominateurs des approximation de 7r. Si l'on veut réellement transformer en nombre décimal le quotient de deux nombres gigantesques fournis par l'algorithme, il faut effectuer une dernière division, ce qui revient à effectuer quatre multiplications (voir section 11.4). Un dernier problème est celui du transfert des données des lignes inférieures de l'arbre vers les lignes supérieures; un tel transfert représentera au total 2TB, 1TB pour les numérateurs, et 1TB pour les dénominateurs. Chaque transfert représentant plusieurs centaines de MB. La réalisation d'un tel projet demande donc des liaisons Internet à haut débit. Le transfert final vers le super-ordinateur devra probablement être exécuté par la poste, car c'est pour l'instant le moyen le plus économique d'envoyer 2 TB de données. Ici l'algorithme binsplit montrera sa compatibilité avec les méthodes traditionnelles de transfert de données. Ce projet est réalisable. Nous l'avons analysé, et il paraît solide. Sa mise en œuvre marquera le début d'une nouvelle ère dans l'histoire des records de calculs de décimales de 7r.
16 Une collection de formules
(16.1)
7r=
circonférence diamètre aire carré du rayon
(16.2)
7r=-----
(16.3)
7r
(16.4)
7r
= 4 arctan 1
= arctan 1 + arctan 2 + arctan 3
(16.5)
7r
= -iln(-l)
Séries de Nilakantha, XV e siècle
(16.6)
7r
= v'12 (1 __1_ + _1_ _ _1_ + _1__ ... ) 3.3
7r
4
(16.7)
~
1 1- 3
5 . 32
7 . 33
9 . 34
+ -1 - -1 + ... ~ -1- ±p/2 -5
7
p-1
p2+1
P est le dernier dénominateur impair+ 1
(16.8)
7r
4
~
1 1 1 1- - + - - 357
1 p2 /4 + 1 + ... ~--±--=-,.:....---p-1
p/2(p2+4p+1)
Une collection de formules
224
K
(16.9)
-=
16
1 + 4.1
-
1 5 3 + 4.3
4
(16.10)
(16.11)
15
1 55 + 4 . 5
4
-
1 5 7 + 4.7
4
- ...
4
= 3 + 33 _ 3 - 53 _ 5 + 73 - 7 - 93 - 9 + ...
K
4
K
+
4
4
4
4
~ 2 + 22 _ 1 - 42 _ 1 + 62 _ 1 - ... ± p2 _ 1 ± 2(p + 1)2 + 4 p est le dernier carré parfait pair
K
1 1 1 1 22 - 1 + 62 - 1 + 102 - 1 + 142 - 1 + ...
(16.12)
8" =
(16.13)
8" = 2 -
K
1
1 1 1 1 42 - 1 - 82 - 1 - 122 - 1 - 162 - 1 + ...
Formules de Leonhard Euler, (1707-1783)
ei1r =_l,
(16.14)
(16.15)
(16.16)
K=-iln(-l),
e1r =C 2i
2
2
x ( 1+2 ( -x - ) + 2. 4 ( -x - ) arctanx=-2 2 2 1+ x
K
28 (
= 10
3
1+ x
3 .5
1+ x
2
+ ... )
2 ( 2) 2.4 ( 2 ) 2 ) 1 +:3 100 + 3·5 100 +... +
~ (144)2 + ... ) 30336 (1 ~ (144) 10 5 + 3 105 + 3 . 5 105 (16.17)
225
Une collection de formules
(16.18)
'if =
ri (x
12
5" Jo
1 Vf=X4)
f-7
(16.19)
'if =
(16.20)
4
n
lim - ' " n-++oo n 2 ~
Jn
2
k2
-
k=O
(16.21)
'if =
lim
n---t+oo
'if = 3)3 (1 _
(16.22)
1
(16.23)
(16.24)
1 [ -n
1(
="6
k=l
n
2
1
+ k2
~ + ~ _ ~ + ... + _1_ 2 4 5 3n + 1
-; = 1 'if2
n 1 + -6 2 + 4n L n
00
L
n=l
1 2n+1
tan
1 ... ) 3n + 2
'if 2n+l
1 1 1 1 - 22 - 32 - 52
+ (2 . 3)2
1 (2·7)2
1 1 1 - 172 - 192 + (3·7)2
1
+ (3·5)2
1
_
1
1 1 1 1 - 72 + (2· 5)2 - 112 - 132 +
1 1 1 1 ) - 232 + (2 . 13)2 - 292 - (2 . 3 . 5)2 - ...
(16.25)
(16.26)
(16.27)
'if 2
6"" =
52 72 22 32 22 - 1 . 32 - 1 . 52 - 1 . 72 - 1 ...
1
+ (2.11)2-
226
Une collection de formules
(16.28)
Jr2 1 1 1 1 - = 1 - -2+ -2- - + + ··· 12 2 3 42 52
(16.29)
Jr3 1 1 1 1 - = 1 - -3+ - + -2- - + ··· 32 3 53 4 73
9
(16.30)
1
00
Jr4 = 680
L
k=l
k 4(2k) k
(16.31)
(16.32)
(16.33)
Jr
26
27! ~ 1 = (76977927)2 24 L k 26 k=l
00
n
(16.34)
p=2
P premier
Jr 2
(16.35)
3 5 7 11 2 6 6 10
13 14
17 18
19 18
- = - 0 - . - 0 - 0 - 0 - . - ...
(16.36)
Jr 1 2 6 12 20 30 42 -=1+- - - 2 1+1+1+1+1+1+1+···
(16.37)
3Jr = 2 + ~ 3 8 15 24 4 2+2+2+2+2+···
(16.38)
sinJrZ-_z n°O ( 1 -z2) 2
(16.39)
Z
k=l
k
- .Jr - = r(z)r(l - z), avec r(x) = sm JrZ
1+ 0
00
(t
f--+
tx-1e- t )
227
Une collection de formules Formules de S. Ramanujan, (1887-1920)
~=~
(16.40)
(16.41)
(16.42)
(16.43)
(16.44)
7r
~ n=O
(2n) 2 42n + 5 n 212n+4
~ = _1_ ~(_1)n (4n)! 1123 + 21460n 3528 ~
7r
~ = 7r
(n!)444n
VS ~(_1)n
9801 ~
7r
"2=1+
1 (1) 2 "3
882 2n
(4n)! 1023 + 26390n (n!)444n 396 4n
1·3 (1) 1·3·5 (1) +2.4 "5 +2.4.6 "7 + ...
e 1 1 1 -=1+-+ + + ... 2 1·3 1·3·5 1·3·5·7 1 1 234 +- - - - 1+1+1+1+1+···
fl
(16.45)
7r 1 1 1·3 1 1·3·5 1 .- + . - + ... - ln 2 = 1 + - . - 2 + 2 2 3 2 . 4 52 2 . 4 . 6 72
(16.45)
7r 3 7r 2 1 1 1.3 1 1.3.5 1 . - + ... - + -(ln2) = 1 + -. - + - . - + 48 4 2 33 2 . 4 53 2 . 4 . 6 73
Formules du type BBP
(16.46)
(_1)n - ~ 4 00
7 r - " ' -n-
(2
4n +
2
1)
-1 + 4n + 2 + 4n + 3
Adarnchnik et Wagon, 1997 [2]
228
Une collection de formules
(16.47)
=
7r
<Xl
1 (4 2 1 1) 8n + 1 - 8n + 4 - 8n + 5 - 8n + 6
~ 16n
Borwein, Bayley, Plouffe, 1995
(16.48)
7r
25 1 28 1 <Xl (-1) n = 26 210n (- 4n + 1 - 4n + 3 + IOn + 1 n=O 2 2 6 2 2 2 1) - IOn + 3 - IOn + 5 - IOn + 7 + IOn + 9
L
Bellard, 1996 [19]
(16.49)
7r2
=
f
~
3 n=1 n
(-12 n +1
+
384 n +2
+
45/2 _ 1215/2) 2n + 1 2n + 3
Adarnchnik et Wagon, 1997 [2]
(16.50)
7r
= ~ ~ (-238 + 285/2 + 667/32 _ 5103/1615 + 35625/32)
~ n3
n=1
n
+1
2n + 2
4n + 1
4n + 3
4n + 5
Adarnchnik et Wagon, 1997 [2]
(16.51)
7r
1 <Xl (_I)n 227 225 225 224 = 236 230n (20n + 1 + 12n + 1 + IOn + 1 + 20n + 3 n=O 222 220 219 218 2 15 + 6n + 1 - 60n + 15 - IOn + 3 - 20n + 7 - 12n + 5 15 212 212 210 29 + 2 + + ---20n + 9 30n + 15 20n + 11 12n + 7 20n + 13 27 25 22 23 2 + +--IOn+7 60n+45 6n+5 20n+17 10n+9
L
II)
12n + 11
+
12n + 19
Pschill, 1999
(16.52)
7r
2<Xl 1 ( 3 1) = v'3 9n 4n + 1 - 4n + 3
~
Pschill, 1999
229
Une collection de formules
(16.53)
Autres séries
(16.54)
7r=4(1-}+~-~+ ... ) Leibniz, 1674
(16.55)
(16.56) Knopp, [41]
7r
(16.57)
1
= lim - n-+oo
n
+ .!4
Bauer, [17]
(16.58)
,,~24 (-;; 3V3
+t(X ~ 'l'x ( 1
1
= -4- + 24 12 - 5 . 25
-
X2l) 1 28 . 27
-
1 72 . 29
1)
~ 3 . 5· .. (2k - 3) ~ 4·6··. (2k)(2k + 3)2 2k +3 22k+3 k=4
Newton, 1665, [32]
230
(16.59)
Une collection de formules
1
- = arCSln-
1f
6
.
1
1
2
1
1·3
1
1·3·5 1
=-+---+---+ + ... 2 2 3 . 23 2 . 4 5 . 25 2 . 4 . 6 7 . 27 Newton, 1676
V3
- = arctan1f
(16.60)
6
=
V3 3
3
(1 __
1_ 3.3
1_) + ...
+ _1_ _ _ 32 . 5
33 . 5
Sharp, 1699, [114]
(16.61)
1f
= 16V3 (1
\2 + 5. ;. 33+
9.
1~ . 35 + ... )
De Lagny, 1719
(16.62)
~
1f
"2 = 1 + 0
n=l
2·4···(2n) 1 3 . 5 ... (2n + 1) . 2n
Stirling, 1730, [85]
(16.63) Legendre, 1811, [85]
+00
(16.64)
1f=
L
n=-oo
(16.65)
1f
=
+00 L n=-oo
sinn n
(.
Sl~n
)2
231
Une collection de formules
(16.66)
7r
+00 ('Sl~ n = 4" n~oo
(16.67)
7r
= "2 n~oo Sl~ n
~
(16.68)
7r
_ 1+~ 2
3
+00 ('
3
)3 )4
(~) 2 + ~ (~) 2 + ~ ( 2
3
2···4
4
1.3. 5 ) 2···4·6
2
+ ...
Catalan, 1948, [41)
_
(16.69)
7r -
~
3+6
(00 (-1) n+ 1 ) ~ L:~=1 k2
J. et P. Borwein, [32)
(16.70)
7r
=
1
740025
(00 3P(n)) ~ G~)2n-l
avec P(n)
- 20379280
= -885673181n5 + 3125347237n4
+ 1031962795n2 -
-
2942969225n 3
196882274n + 10996648
Bellard, 1999, [19)
00 (n!)22n+l 7r = ~ (2n + 1)!
(16.71)
= 2 + ~ (2 + ~ (2 + ~ (2 + ~ (2 + ... )) ) ) Algorithme du goutte à goutte
(16.72)
7r
= 3 + Zo (8 + / Gosper
~ ~ 3 (13 + 10 ~ ~~. 3 (18 + 13 ~~;. 3 (23 + ... )) ) )
232
Une collection de formules
(16.73)
7[
= ~ (25n - 3)(n!)(2n)! ~
2n-l(3n)!
n=O
Gosper, 1974
(16.74)
7[=
2:: t,
(~2 - (n ~ 1)2)
b(n)
où b( n) représente le nombre de chiffres impairs dans l'écriture décimale de n J. et P. Borwein, 1992 , [34]
00
(16.75)
7[
=
1
3y3~ n(2;) Comtet, 1974
(16.76)
= 18
7[2
00
1
L n2(2n) n=l n
Euler, 1748
2 _
(16.77)
7[
4
-
(
00
1+~
2n 1 2 + (n!)2) (2n + 2)!
Tabeke Kenko, 1722, [98]
2
(16.78)
7[
00
(2 - y3)n
= 72 ~ n2e;)
Crandall, 1994, [47]
(16.79)
~ = 7[
12 ~(_I)n (6n)! . 13591409 + 545140134n V640320 3 ~ (n!)3(3n)! (640320 3)n n=O D. et G. Chudnovsky, 1987
233
Une collection de formules
Produits
~~ffJ~+~ff ~+~J~+~ff
(16.80)
Viète, 1593
3·35·57·7
4
(16.81)
:; = 2·4 . 4·6 . 6·8 ... =
fi( n=l
1)
1 + 4n(n + 1)
Wallis, 1655
(16.82) Wallis, 1655
(16.83)
OsIer, 1999, [88]
e 11 (a:: (X)
(16.84)
1r
= 32
avec ao
1
2- n + 1
)
= 1,bo = l/v'2,aj+l = (aj +bj )/2,bj+l = Jajbj
Salamin, [100]
234
Une collection de formules
Fractions continues
(16.85)
111 1 11111~ 7f = 3 + 7 + 15 + 1 + 292 + 1 + 1 + 1 + "2 + 1 + 3 + ...
(16.86)
4 12 32 52 72 92 ; = 1 +"2 + "2 + "2 +"2 + "2 + ... Brouckner, 1658
(16.87)
4 2 1·3 3·5 5·7 ;=1+7+ 8 + 8 + 8 + ... Euler, 1783, [114]
(16.88)
7f 2 1·3 3·5 5·7 2=1+3+ 4 + 4 + 4 + ... Euler, 1783, [114]
(16.89)
(16.90)
4 12 22 325 42 ;=1+3+5+7+9+ ... 7f2 1 1.1 1.2 2.2 2.3 3 .3 6=1+1+ 1 + 1 + 1 + 1 + 1 + ...
(16.91)
(16.92)
7f 1 2·3 1·2 4·5 2=1- 3 _ 1 - 3 - 3 - ... Stern, 1833
(16.93)
7f=3+
12
6
+
32
6
+
52
6
Lange, 1999, [80]
+
72
6
+ ...
235
Une collection de formules
Formules avec la fonction arc tangente On note [x]
=
arctan~.
~
(16.94)
(16.95)
4
[1]
=
~ = 2[V2] + [2V2] Wetherfield, 1996
(16.96)
i=
2[3V3]
+ [4V3]
4" = [2] + [3] 1[
(16.97)
Euler, 1738
(16.97)
4" = 1[
[2]
+ [5] + [8]
Strassnitzky, 1844
(16.98)
1[
- = 2[2]- [7] 4
Hermann, 1706
(16.99)
4" = 2[3] + [7] 1[
Hutton, 1776
(16.100)
~=
3[4]
+ [20] + [1985]
Loney, 1893
236
Une collection de formules
~=
(16.101)
4[5] - [70]
+ [99]
Euler, 1764
~=
(16.102)
4[5] - [239] Machin, 1706
~=
(16.103)
5[7]
+ 2[79/3]
Euler, 1755, [114]
~=
(16.104)
6[8]
+ 2[57] + [239]
Stermer, 1896, [114]
(16.105)
~ = 7[10] + 8[100] + [682] + 4[1000] + 3[1003] - 4[90109] - 2[500150] Wrench, [41]
(16.106)
~ = 8[10] - [239] - 4[515] Klingenstierna, c. 1730, [114]
(16.107)
~=
8[101/10] - [239]
+ 4[52525]
Gauss, [56]
(16.108)
~ = 12[18] + 8[57] - 5[239] Gauss, [56]
237
Une collection de formules
~ = 22[28] + 2[443] - 5[1393] - 10[11018]
(16.109)
Escott
~ = 12[38] + 20[57] + 7[239] + 24[268]
(16.110)
Gauss, [56]
~ = 44[57] + 7[239] - 12[682] + 24[12943]
(16.111)
Stermer, 1896
(16.112)
~ = 88[172] + 51[239] + 32[682] + 44[5357] + 68[12943] Stermer, 1896
(16.113)
~
=
88[192]
+ 39[239] + 100[515] -
32[1068] - 56[173932]
Arndt, 1993, [7]
~ = 322[577] + 76[682] + 139[1393] + 156[12943]
(16.114)
+ 132[32807] + 44[1049433] Arndt, 1993, [7]
~ = 1587[2852] + 295[4193] + 593[4246] + 359[39307]
(16.115)
+ 481[55603] + 625[211050]
- 708[390112]
Arndt, 1993, [7]
(16.116)
~
+ 1257[5357] + 1731[6107] + 295[12943] + 625[19703] - 481[32807] - 1042[39307] + 398[390112] = 1074[4246]
Arndt, 1993, [7]
238
Une collection de formules
~
(16.117)
= 7162[129431
+ 2729[44179]
+ 3796[328071 + 2558[34208] - 708[51387] + 2192[114669]
- 2805[157318] - 3696[485298] - 2407[24208144] Arndt, 1993, [7]
(16.118)
"4 = 50539[513871 + 1555[114669]- 6601[157318]- 20678[390112] - 5617[485298] - 64126[617427] + 10958[1984933]- 30569[3449051] + 23407[22709274] + 25433[24208144] 7f
Arndt, 1993, [7]
~ = 36462[3901121 + 135908[485298] + 274509[683982]
(16.119)
+ 178477[2478328]- 114569[3449051] 146571[1897599] + 61919[22709274] - 6044[24208144]
- 39581[1984933] -
- 89431 [201229582] - 43938[2189376182] Arndt, 1993, [7]
(16.120)
~
= 446879[683982]
+ 1 - 72370[1635786] - 193720[1984933] + 369078[2478328] + 18231[3014557] + 21339[3449051] - 154139[6225244] - 110109[18975991] + 80145[22709274] - 223183[24208144] - 107662[201229582] - 216308[2189376182] Arndt, 1993, [7]
(16.121)
"4 = 872408[1984933] + 619249[2298668] + 369078[2478328] + 18231[3014557] - 1217159[5033696] + 911989[6225244] + 783649[18975991] - 70886[22709274]- 374214[24208144] - 1044789[168623905] + 339217[201229582] - 446879[2848622638] + 402941[2189376182] 7f
Arndt, 1993, [7]
239
Une collection de formules
~
(16.122)
00
2)n 2 + n + 1]
=
n=l
Knopp
00
(16.123)
~ = 2)F2n+1 ] n=l
où (Fn) est la suite des nombres de Fibonacci Arndt, 1993, [7]
(16.124)
~ = 3V5 - 5 ~ Po [3F2n+2 + F?n+2] 4
2
~ n=l
2n
Arndt, 1993, [7]
Formules diverses
l-i
(16.125)
7r
= 2i ln 1 + i
Fagano, [118]
(16.126)
Euler
(16.127)
2
~ 6
=" -n =((2) 00
~
n=l
1
2
2
240
(16.128)
Une collection de formules
1f
=
lim
n~+CX)
où (Fn) est la suite des nombres de Fibonacci Matiyasevitch, [84]
r
22
(16.129)
1f
="""7 -
1r[(0
,
1](xf--+x4(1-x)4) 1+x2
Backhouse, 1995, [8]
e+1 ~ --=2+4L.."
(16.130)
e- 1
n=l
1 (21fn)2
+1
Kempermann, 1995, [73]
(16.131)
[~
1f
]
=
II CX)
[
(2k-l)(k+2) 3(3k+2)(3kH)
0 Bellard, 1996, [19] k=O
171f
(16.132)
~6
4
360
(1
1)2
= ~ 1 + 2" + ... + ;, CX)
1
. n2
Au-Yeung, 1993
(16.133)
371f
6
22680
2
= ( (3) + Bailey
L CX)
n=l
(1 1 + 2"
1)2
+ ... + ;,
1
. n4
241
Une collection de formules
Algorithmes itératifs Algorithme d'Archimède (250 av J.-C), (linéaire) (16.134)
Ini tialisation :
= V3,
aO
bo
=
2
Itération:
Résultat:
bk +1 6 . 2k+l <
ak+l
< 6 . 2k+l
7r
(Archimède, 250 av. J.-C)
Algorithme de Descartes (c. 1649), (linéaire) (16.135)
Initialisation: Po
= h,
qo
=
1
Itération: Résultat:
4
4
--<7r<--
qk+l
Pk+I
(Descartes, c. 1649, [114])
Algorithme de bit à bit (16.136)
Initialisation:
ao = tan(l) Itération: ak+I
=
2ak
-1--2' - ak
Résultat:
~ =~ 7r
b(ak)
~ 2k+l
k=O
(Plouffe, [36])
b(x)
=
{
~
si x < 0 sinon
Une collection de formules
242
Algorithme MAG de Gauss, (quadratique)
(16.137)
Initialisation:
= 1,
ao
= 1/V2,
bo
So = 1/2
Itération:
2
2
Ck+l = ak+l -
b2
k+l'
Résultat: Pn
=
(an
+ bn )2 2sn
----7
Ir
Ir2n+4 -1r2n+l
e
Ir - Pn
= MAG2(1; 1/V2)
(Gauss, c.1800, Brent et Salamin, 1976)
Algorithme MAG de Gauss, variante de Schonhage (quadratique)
(16.138)
Initialisation: ao
= 1,
Ao
= 1,
Bo
= 1/2
80
Itération:
Bk+l sk+l
= 2(ak+l - T) = Sk + 2k+l(Ak+1
Résultat:
(Sch6nhage, [105])
- B k + 1)
= 1/2
Une collection de formules
243
Algorithme de Borwein, (quadratique)
(16.139)
Initialisation:
ao =
bo = 0,
V2,
Po = 2 + V2
Itération:
Résultat:
IPn - 1f1 : :;
1
102n
(J. et P. Borwein, 1984, [30])
Algorithme de Borwein, (cubique)
(16.140)
Initialisation:
ao =
1
3'
So
=
V3-1
Itération: r
2
3 1 + 2(1 _ S~)1/3
---,------,-----=_:_=
Hl -
rk+1 - 1
Sk+l
=
ak+1
= rk+l - 3 k (rk+1
2
-
1)
Résultat: 1
1f
ak -----+-
(J. et P. Borwein, 1987, [13])
244
Une collection de formules
Algorithme de Borwein, (quartique)
(16.141)
Initialisation:
4V2,
ao = 6 -
Yo =
V2 -
1
Itération: Yk+l
=
(1 - Yk)-1/4 (1 - yV-l/4
ak+l
=
ak((l
- 1
+1
+ Yk+d 2)2 -
22k +3 Yk+1((1
Résultat:
o < ak -
1 'Fr
:s; 16·4k ·2e- 4
k
21f
(J. et P. Borwein, 1987, [32])
Algorithme de Borwein, (quintique)
(16.142)
Initialisation: 80
= 5(V5 - 2),
ao = 1/2
Itération: 25
Résultat:
o < ak -
1 -
< 16 . 5 k . e -1f5
k
'Fr
(J. et P. Borwein, 1987, [33])
+ Yk+d 2 -
Yk+l)
245
Une collection de formules
Algorithme de Borwein, (nonique)
(16.143)
Initialisation :
ao = 1/3,
ro =
V3-1 2
Itération:
m= ak+l
=
+3
-
1
(1 - m)
(1 - rk)3 v(t + 2u)
Sk+l =
rk+1
mak
2k
27(1
= (1 - sÜ 1/ 3
Résultat: 1
ak ----+7r
(J. et P. Borwein, 1987, [13])
+ Sk + sk) 2
17 Tables des chiffres de 1 ~
Cent premières décimales de quelques constantes = 3. 1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 3183098861 8379067153 2897495334 6881177935 6/~2 = O. 6079271018 5402662866 9293073654 1913650387 ~2 = 9. 8696044010 8935861883 0626413349 3762200448 ~3 = 31.0062766802 9982017547 7694144538 1038063949 ~4 = 97.4090910340 0243723644 1691467859 3899708554 yfIT 1. 7724538509 0551602729 7128213807 7898529112 ~ 1. 4645918875 6152326302 7174357255 9371383936 ~ 1. 3313353638 0038971279 4258453707 4828667007 e = 2. 7182818284 5904523536 9574966967 6277240766 ~e = 22.4591577183 6104547342 2249203002 5540669260 eK = 23.1406926327 7926900572 1993445046 4095243423 eK / 4 = 2. 1932800507 3801545655 2334858015 9186570268 In~ 1. 1447298858 4940017414 1571513623 0714721377 log2~ 1. 6514961294 7231879804 1529406788 5154881029 loglO~ = O. 4971498726 9413385435 2446134053 4999249471 eKV163 = 2 62537412640768743. 9999999999 9925007259 2707537410 3782106479 1/~
7r
= O.
0628620899 7767526745 9526845307 3276779258 2577341264 4490999876 2241920524 6315067101 1746570603 0332688705 5682719619 8167483341 8459103218 0142527263 4979828626 7534917950 6101723561 0287471352 3035354759 7152204543 4039911791 9086367948 5069045278 9769659278 6418923693 3427351353 6988482607 3279295108 6358454143 1268288290 1208955267
8628034825 0287240689 0180227605 3658334261 7147255643 1511353136 3001773403 3952022252 7566701032 1112497275 0121867234 1451827975 1374950656 7903917385 6145682067 2808533093 4968245891 6624977572 4571382178 7350275893 2318519752 5473802661 3516971997 7382234616 4126522812 0587116472 9783623270 0073350184 8960264792 8988736516 4655547386
3421170679 1929148091 5325061719 5264803347 5537310256 9940724079 7185522318 8856588510 6028861930 8567268542 7529925509 4945612238 7385446654 9685562793 8203538208 6622381810 0567069459 4709369995 5251664274 1513399669 7271430315 0624260021 0675492196 3764199427 5781694047 9481291531 2754897077 7692676304 8098541017 7832438044 4642912223
7198185688 8793538563 3733699086 1011860731 2951181346 1860645041
248
2
Tables des chiffres de
Décimales de
7r
7r
(de 0 à 1 800 en base 10)
(0051) (0101) (0151) (0201) (0251) (0301) (0351) (0401) (0451)
3.1415926535 5820974944 8214808651 4811174502 4428810975 4564856692 7245870066 7892590360 3305727036 0744623799
8979323846 5923078164 3282306647 8410270193 6659334461 3460348610 0631558817 0113305305 5759591953 6274956735
2643383279 0628620899 0938446095 8521105559 2847564823 4543266482 4881520920 4882046652 0921861173 1885752724
5028841971 8628034825 5058223172 6446229489 3786783165 1339360726 9628292540 1384146951 8193261179 8912279381
6939937510 3421170679 5359408128 5493038196 2712019091 0249141273 9171536436 9415116094 3105118548 8301194912
(0501) (0551) (0601) (0651) (0701) (0751) (0801) (0851) (0901) (0951)
9833673362 6094370277 0005681271 1468440901 4201995611 5187072113 5024459455 7101000313 5982534904 1857780532
4406566430 0539217176 4526356082 2249534301 2129021960 4999999837 3469083026 7838752886 2875546873 1712268066
8602139494 2931767523 7785771342 4654958537 8640344181 2978049951 4252230825 5875332083 1159562863 1300192787
6395224737 8467481846 7577896091 1050792279 5981362977 0597317328 3344685035 8142061717 8823537875 6611195909
1907021798 7669405132 7363717872 6892589235 4771309960 1609631859 2619311881 7669147303 9375195778 2164201989
(1001) (1051) (1101) (1151) (1201) (1251) (1301) (1351) (1401) (1451)
3809525720 0353018529 5574857242 8175463746 8583616035 9448255379 9331367702 2533824300 6782354781 5570674983
1065485863 6899577362 4541506959 4939319255 6370766010 7747268471 8989152104 3558764024 6360093417 8505494588
2788659361 2599413891 5082953311 0604009277 4710181942 0404753464 7521620569 7496473263 2164121992 5869269956
5338182796 2497217752 6861727855 0167113900 9555961989 6208046684 6602405803 9141992726 4586315030 9092721079
8230301952 8347913151 8890750983 9848824012 4676783744 2590694912 8150193511 0426992279 2861829745 7509302955
(1501) (1551) (1601) (1651) (1701) (1751)
3211653449 6369807426 8164706001 1613611573 4547762416 5688767179
8720275596 5425278625 6145249192 5255213347 8625189835 0494601653
0236480665 5181841757 1732172147 5741849468 6948556209 4668049886
4991198818 4672890977 7235014144 4385233239 9219222184 2723279178
3479775356 7727938000 1973568548 0739414333 2725502542 6085784383
7r =
Décimales de
3
7r
(de 1 801 à 3 500 en base 10)
Décimales de
7r
249
(de 1 801 à 3 500 en base 10)
(1801) (1851) (1901) (1951)
8279679766 7392984896 0674427862 4677646575
8145410095 0841284886 2039194945 7396241389
3883786360 2694560424 0471237137 0865832645
9506800642 1965285022 8696095636 9958133904
2512520511 2106611863 4371917287 7802759009
(2001) (2051) (2101) (2151) (2201) (2251) (2301) (2351) (2401) (2451) (2501) (2551) (2601) (2651) (2701) (2751) (2801) (2851) (2901) (2951)
9465764078 2671947826 4962524517 5709858387 6868386894 8459872736 4390451244 4169486855 0168427394 6456596116 1507606947 2287489405 9009714909 2265880485 5428584447 2135969536 0374200731 8687519435 8191197939 9839101591
9512694683 8482601476 4939965143 4105978859 2774155991 4469584865 1365497627 5848406353 5226746767 3548862305 9451096596 6010150330 6759852613 7564014270 9526586782 2314429524 0578539062 0643021845 9520614196 9561814675
9835259570 9909026401 1429809190 5977297549 8559252459 3836736222 8079771569 4220722258 8895252138 7745649803 0940252288 8617928680 6554978189 4775551323 1051141354 8493718711 1983874478 3191048481 6342875444 1426912397
9825822620 3639443745 6592509372 8930161753 5395943104 6260991246 1435997700 2848864815 5225499546 5593634568 7971089314 9208747609 3129784821 7964145152 7357395231 0145765403 0847848968 0053706146 0643745123 4894090718
5224894077 5305068203 2169646151 9284681382 9972524680 0805124388 1296160894 8456028506 6672782398 1743241125 5669136867 1782493858 6829989487 3746234364 1342716610 5902799344 3321445713 8067491927 7181921799 6494231961
(3001) (3051) (3101) (3151) (3201) (3251) (3301) (3351) (3401) (3451)
5679452080 6638937787 0306803844 6660021324 1005508106 4011097120 2305587631 7321579198 7229109816 5725121083
9514655022 0830390697 7734549202 3408819071 6587969981 6280439039 7635942187 4148488291 9091528017 5791513698
5231603881 9207734672 6054146659 0486331734 6357473638 7595156771 3125147120 6447060957 3506712748 8209144421
9301420937 2182562599 2520149744 6496514539 4052571459 5770042033 5329281918 5270695722 5832228718 0067510334
6213785595 6615014215 2850732518 0579626856 1028970641 7869936007 2618612586 0917567116 3520935396 6711031412
250
4
Tables des chiffres de
Décimales de
1r
7f
(de 3 501 à 5 000 en base 10)
(3501) (3551) (3601) (3651) (3701) (3751) (3801) (3851) (3901) (3951)
6711136990 3515565088 8932261854 6549859461 2332609729 5836041428 1809377344 4492932151 2131449576 2807318915
8658516398 4909989859 8963213293 6371802709 9712084433 1388303203 4030707469 6084244485 8572624334 4411010446
3150197016 9823873455 3089857064 8199430992 5732654893 8249037589 2112019130 9637669838 4189303968 8232527162
5151168517 2833163550 2046752590 4488957571 8239119325 8524374417 2033038019 9522868478 6426243410 0105265227
1437657618 7647918535 7091548141 2828905923 9746366730 0291327656 7621101100 3123552658 7732269780 2111660396
(4001) (4051) (4101) (4151) (4201) (4251) (4301) (4351) (4401) (4451)
6655730925 4769312570 3348850346 8455296541 7002378776 1127000407 6343285878 2021149557 0990796547 2996148903
4711055785 5863566201 1136576867 2665408530 5913440171 8547332699 5698305235 6158140025 3761255176 0463994713
3763466820 8558100729 5324944166 6143444318 2749470420 3908145466 8089330657 0126228594 5675135751 2962107340
6531098965 3606598764 8039626579 5867697514 5622305389 4645880797 5740679545 1302164715 7829666454 4375189573
2691862056 8611791045 7877185560 5661406800 9456131407 2708266830 7163775254 5097925923 7791745011 5961458901
(4501) (4551) (4601) (4651) (4701) (4751) (4801) (4851) (4901) (4951)
9389713111 0480109412 8530614228 7716692547 9769265672 8888007869 6171196377 4252308177 6222247715 7805419341
7904297828 1472213179 8137585043 4873898665 1463853067 2560290228 9213375751 0367515906 8915049530 4473774418
5647503203 4764777262 0633217518 4949450114 3609657120 4721040317 1495950156 7350235072 9844489333 4263129860
1986915140 2414254854 2979866223 6540628433 9180763832 2118608204 6049631862 8354056704 0963408780 8099888687
2870808599 5403321571 7172159160 6639379003 7166416274 1900042296 9472654736 0386743513 7693259939 4132604721
Décimales de
5 7f
7f
Décimales de =
(0051) (0101) (0151) (0201) (0251) (0301) (0351) (0401) (0451) (0501) (0551) (0601) (0651) (0701) (0751) (0801) (0851) (0901) (0951) (1001) (1051) (1101) (1151) (1201) (1251) (1301) (1351) (1401) (1451) (1501) (1551) (1601) (1651) (1701) (1751)
251
(de 0 à 1 800 en base 16)
3.243F6A8885 2EFA98EC4E 29B7C97C50 A698DFB5AC F12C7F9924 574E69A458 4AEE7B54A4 FOCA417918 D71577C1BD 48986263E8 86AF7C72E9 169B87931E 6B4BB9AFC4 EC8032EF84 ACC50F6D6F 5E21C66842 960FA728AB F1651D39AF A5C33B8B5E 62363F7706 49F1C09B07 794C3B976C 246368FB6F 2CCC814544 COCBA85745 Al00C6402C 16DFFD616B 483EOODF82 287EFFC3AC FOllA010FA 4565D28E49 E8EF20CADA EAAD8E716B F6E2FBF212 F191B3A8Cl OFB56F74E8
7r
(de
aà
A308D31319 6C89452821 DD3F84D5B5 2FFD72DBDO A19947B391 FEA3F4933D lDC25A59B5 B8DB38EF8E 314B2778AF 144055CA39 93B3EE1411 AFD6BA336C BFE81B6628 5D5DE98575 F383F44239 F6E96C9A67 5133A36EEF 017666CA59 BEE06F75D8 lBFEDF7242 5372C98099 EOBD04C006 AF3E6C53B5 AF5EBD09BE C8740FD20B 7279679F25 152F501EC8 9E5C57BBCA 6732C68C4F 3D98FD2183 BC4BFB9790 36774C01DO 93D5AOD08E 2B648888B8 AD2F2F2218 18ACF3D6CE
1 800 en base 16)
8A2E037073 E638D01377 B547091792 lADFB7B8El 6CF70801F2 7EOD95748F 9C30D5392A 79DCB0603A 2FDA55605C 6A2AAB10B6 636FBC2A2B 24CF5C7A32 219361D809 B1DC262302 2EOB4482A4 OC9C61ABD3 OB6C137A3B 3E82430E88 85C1207340 9B023D37DO lB7B25D479 BAC1A94FB6 1339B2EB3B E3D004DE33 5F39B9D3FB FEFB1FA3CC AD0552AB32 6F8CA01A87 5573695B27 B84AFCB56C E1DDF2DAA4 7E9EFE2BFl D1DOAFC725 12900DF01C BEOE1777EA 89E299B4A8
44A4093822 BE5466CF34 16D5D98979 AFED6A267E E2858EFC16 728EB65871 F26013C5Dl 180E6C9EOE 60E65525F3 B4CC5C3411 A9C55D7418 5381289586 CCFB21A991 EB651B8823 84200469C8 88F06A51AO E4BA3BF050 8CEE861945 lA449F56Cl D724DOOA12 D8F6E8DEF7 409F60C45E 52EC6F6DFC 4AFD660F28 DB5579COBD 8EA5E9F8DB 3DB5FAFD23 562EDF1769 BOBBCA58C8 2DD1D35B9A CB7E3362FB lFB495DBDA E08E3C5B2F 4FAD5EA068 752DFE8B02 4FEOFD13EO
299F31D008 E90C6CCOAC FB1BD1310B 96BA7C9045 636920D871 8BCD588215 B023286085 8BB01E8A3E AA55AB9457 41E8CEA154 31F6CE5C3E 773B8F4898 487CAC605D 893E81D396 F04A9E1F9B D2D8542F68 7EFB2A98Al 6F9FB47D84 6AA64ED3AA 48DBOFEAD3 E3FE501AB6 5C9EC2196A 511F9B3095 07192E4BB3 lA60320AD6 3222F83C75 876053317B DBD542A8F6 E1FFA35DB8 53E479B6F8 1341CEE4C6 4DAE909198 8E7594B78F 8FC31CD1CF lFA1E5AOCC B77CC43B81
252
6
Tables des chiffres de
Décimales de
(1801) (1851) (1901) (1951) (2001) (2051) (2101) (2151) (2201) (2251) (2301) (2351) (2401) (2451) (2501) (2551) (2601) (2651) (2701) (2751) (2801) (2851) (2901) (2951) (3001) (3051) (3101) (3151) (3201) (3251) (3301) (3351) (3401) (3451)
D2ADA8D916 B5FA86C754 7E4900250E 1E5563911D 8326037662 5100529A53 6FB5571BE9 2EC5855664 B5B32944DB EDB266ECAA 4C29A05913 D6A1D29C07 6382E9C602 7F358452AO 44EC5716F2 1A3CB574B2 22F547013A D0030EECC8 B3314E548B 795679B072 5512721F2E 9F9ABCE94B 18473215D9 02133AE4DD D7A3C76B3C 153C6E86E3 06FA2965DC 6AC6150EBA 1939260F19 BC4595A67B 218568AB98 2829076170 AA0363CFB5 622CA79CAB
7r
TI
(de 1 801 à 3 500 en base 16)
5FA2668095 42F5FB9D35 2D2071B35E 59DFA6AA78 95CFA911C8 2915D60F57 1FF296EC6B 53B02D5DA9 75092EC419 8C71699A17 40E4183A3E EFE830F54D 1ECC5E0968 E286B79C53 B8B03ADA37 25837A58DC E5E58137C2 C73EA4751E 384F6DB908 BCAF89AFDE 6B7124501A 7D8CEC7AEC 08DD433B37 71DFF89E10 11183B5924 4570EAE96F B999E71DOF 94E2EA78A5 C279605223 C883B17F37 02EECEA50F ECDD477561 735C904C70 5CABB2F384
770593CC73 CFEBCDAFOC 226800BB57 C14389D95A 19684E734A 3FBC9BC6E4 2AODD915B6 9F8FA108BA 2623AD6EA6 FF5664526C 3F54989A5B 2D38E6F025 6B3F3EBAEF 05AA500737 F0500CODFO 0921BDD191 DADCC8B576 41E238CD99 6F420D03F6 9A771FD993 DDE69F84CD 3ADB851DFA 24C2BA1612 314E5581AC A509F28FE6 B1860E5EOA 803E89D652 FC3C531EOA A708F71312 D1018CFF28 DB2F953B2A 9F151013CC A239D59E9E 6E648B1EAF
14211A1477 7B3E89AOD6 B8EOAF2464 537F207D5B 41B3472DCA 2B60A47681 636521E7B9 47996E8507 B049A7DF7D C2B19EE119 429D656B8F 5DC14CDD20 C93C971814 3E07841C7F 1C1F040200 13F97CA92F 349AF3DDA7 3BEAOE2F32 OA04BF2CB8 0810B38BAE 877A584718 63094366C4 A14D432A65 77D65F1119 ED97F1FBFA 5A3E2AB377 66C8252E4C 2DF4F2F74E B6EBADFE6E C332DDEFBE EF7DAD5B6E A830EB61BD OBCBAADE14 19BDFOCAAO
E6AD206577 411BD3AE1E 369BF009B9 A202E5B9C5 7B14A94A1B E6740008BA F9B6FF3405 6A4B7A70E9 9CEE60B88F 3602A57509 E4D699F73F 868470EB26 6B6A70A168 DEAE5C8E7D B3FFAEOCF5 F694324773 A94461460F 80BBA1183E 129024977C 12DCCF3F2E 7408DA17BC 64C3D2EF1C C451509400 9B043556F1 9EBABF2C1E 1FE71C4E3D C9789C10B3 A7361D2B3D EAC31F66E3 6C5AA56558 2F841521B6 960334FE1E EECC86BC60 2369B9655A
Décimales de
7
7r
Décimales de
(3501) (3551) (3601) (3651) (3701) (3751) (3801) (3851) (3901) (3951) (4001) (4051) (4101) (4151) (4201) (4251) (4301) (4351) (4401) (4451) (4501) (4551) (4601) (4651) (4701) (4751) (4801) (4851) (4901) (4951)
253
(de 3 501 à 5 000 en base 16)
BB5040685A 9995F7997E OE358829C7 83C3FF1AC2 F2EF34C6FF 14203E13EO EF6ABBB565 816250CF62 749247848A 0058428D2A D65FECF16C 07808419F8 ABFC800BCA D3105588CD F16DFF2015 8140F7F64C 0068D40824 4614214F74 BFBC09EC03 2547E6ABCA 1462D74869 067AF4D6B6 D9F385B9EE E397B23A6E B397454056 4B55A867BC 5EF47E1C90 C11548E4C6 79A45D886E 34602A9C60
7r
(de 3 501 à 5 000 en base 16)
323C2AB4B3 623D7DA8F8 E61FD696DE 4696CDB30A EAFE28ED61 45EEE2B6A3 4F3B1D41CD A1F25B8D26 OB5692B285 OC55F5EA1D 223BDB7CDE 509EE8EFD8 DC9E447A2E 675FDA79E3 3E21E78FBO 261C946929 713320F46A BF8B88404D BD97857FAC OA9A285078 00680ECOA4 AACE1E7CD3 39D7AB3B12 FA74DD5B43 ACBA489527 A1159A58CC 29317CFDF8 6D2248C113 17325F51EB DFF8E8A31F
319EE9D5CO 37889A97E3 DFA17858BA EB532E3054 EE7C3C735D AAABEADB6C 2105D81E79 46FC8883AO 095BBFOOAD ADF43E233F 3759CBEE74 5561D99735 C3453484FD 674340C5C4 3D4AE6E39F 34411520F7 43B7D4B750 95FC1D96B5 6DD031CB85 25530429F4 27A18DEE4F 375FECCE78 4E8B1DC9FA 326841E7F7 55533A3A20 A9296399E1 E80204272F 3FC70F86DC D59BCOD1F2 636C1BOE12
21B8F79B54 2D7711ED93 9957F584A5 8FD948E46D 4A14D9E864 4F15FACB4F 9E86854DC7 C1C7B6A37F 19489D1462 70613372FO 604085F2A7 A969A7AAC5 D567050E1E 3465713E38 2BDB83ADF7 7602D4F7BC 0061AF1E39 91AF70F4DD 0496EB27B3 OA2C86DAE9 3FFEA2E887 A399406B2A F74B6D1856 CA7820FBFB 838D87FE6B DB33A62A4A 7080BB155C 07F9C9EE41 BCC18F4111 B4C202E132
OB19875FAO 5F16681281 1B2272639B BC312858EB B7E342105D DOC742F442 E44B476A3D 1524C369CB B17423820E 928D937E41 CE77326EA6 OC06C25A04 9EC9DB73DB D83D28F89E E93D5A6894 F46B2ED4A2 F62E972445 D366A02F45 55FD3941DA B66DFB68DC AD8CB58CEO 4220FE9E35 26A36631EA OAF54ED8FE A9B7D09695 563F3125F9 05282CE395 041FOF4047 3564257B78 9EAF664FD1
254
8 7r
Tables des chiffres de
Développement en fraction continue de ments de 0 à 700) = 3+ [ 7
(0021) (0041) (0061) (0081) (0101) (0121) (0141) (0161) (0181)
84 1 8 1 5 7 2 1 1
15 2 6
1
292 1 1 1 2 1 15 3 13 1 4 1 1 71237 16115 1 2 214 1 2 22 1 2 412 281 5 2 1 7 2 331 4 9 7 30 1 18 1 3 1 1 1 12 13 1 214 2 11411 1 5 3
3
1
1
2
1
16
1 1
2 1
1 8 1
(0201) 1 (0221) 4 (0241) 1 (0261) 2 (0281) 1 (0301) 20 (0321) 3 (0341) 24 (0361) 58 (0381) 1
23 1 127 14 29 3 12 1 48 16
(0401) 1 (0421) 1 (0441) 7 (0461) 1 (0481) 5 (0501) 2 (0521) 2 (0541) 1 (0561) 11 (0581) 26
13
(0601) 106 (0621) 2 (0641) 1 (0661) 1 (0681) 7
1
6 4 5 1
15 5 1 1 1 5
1 114 4 5
1
2
1
3
1 1
1 4
1 1 1
4
3 3 2 1
1
2
1
1
3
2
2 4 3 4
1 23 1 29
3 1 7 3
1 18 17 5
12 2 1 3
1
1
1
1
1 1
29 1
2
94 50 2 1 2 1
4
4
1 1 3 1
1
57 2 28 4
1
1 8 1 1
1
2
4 4 1 1 5
10 20776 3 4 43
5 1 1 6 1
15
19 1 1 1 2 27 1 36
1 1
3
1
2 2
1 3 2 1 1
1 15 1 3
1
7 1
1 1
2 1
2
3 3 3 6
1
1
1
2 3
1 1 1 45 2
222 635 131 16 1 161 1 1 10 8 2 42 2 18 1 9 19 1 1 2 1 10 3 2 20 120 2 1 1
2 1
9
1 3 24 15 1 4 55 1 1 2 16 5 28 1 1 19 2 7 111 322 121 211
1
1
26
3 1 2 6
44 1
2 1 1 2 13 1 1 72
1 7
1 1
4
3
5
4
2
3 33 4 1
1
1
2 2
2 2
1
1
1
10 10 1 1 30
7 3 1 141 1
1 1
2
1 7 1 7
2
6
2 5 1 2 12 4
(élé-
14 2 1 1 2 6 99 1 2 2 1 1 12 1 1 3 1 244 21312
2 1
1 7
452 4 1 436 8 311 1 214 1 1 2 1 1 1 1 1 2
7 3
1
6 2 2
1 21 2 1 1 1 1 154 1 3 1 1 10 1 2 1 11 3 12312 1 1 1 1 1 6 9 1 5 1 1 432 2 1 15 1 4 8 1 1 9 1 4
7 13 2
1
2 1 2 24 2
'if
7f
2
1 6 5
1
2 9 1 113 3 1 3 1 7 1 212 512 5 15 1 112 1 1 4 3 15 1
6 1
1
2
1
1 1
11 1
1 23 14 1 1 122 141 2 1 1
34
1
4
1 1
4
2
2
111 219 1 22 2
1 1 13 8
1 6
8 2
245 222
12 1 1 3 4 3
1
3 3 21 1 1 1 32 5 1 133 3 5 3 7
19 3 1 423 1 1 6
1
2
11
7 7 227 18 10 2 8 1
1
1
6
1
1
117 222
1
4 5 1
11 1
2 2
2 1
2
6 1
3 1 6 1
4
Développement en fraction continue de
9
7f
(éléments de 701 à 1 400)
Développement en fraction continue de ments de 701 à 1 400)
(0701) (0721) (0741) (0761) (0781) (0801) (0821) (0841) (0861) (0881) (0901) (0921) (0941) (0961) (0981) (1001) (1021) (1041) (1061) (1081) (1001) (1121) (1141) (1161) (1181)
13 1 5 1 1 4 1 3 3 1 1 12 15 8 2 3 1 1 2 2 1 3 3 2 2 1 1 4 2 1 1931 2 8 13 2 6 1 1 1 7 2 1 1 2 2 1 6 1 4
5 1 2 1 37 1 8 5 3 62 2 1 1 65 1 3 1 1 4 1 2 3 1 1 1
4 16 1 6 4 2 47 4 20 2 1 3 1 2 2 9 8 3 12 4 2 4 4 1 11
1 125 1 1 2 2 1 2 1 2 1 1 1 4 2 1 1 1 1 1 1 1 1 2 2
(1201) (1221) (1241) (1261) (1281) (1301) (1321) (1341) (1361) (1381)
15 8 15688 2 11 1 1 3 1 11 3 3 2 5 1 9 2 1 1
8 2 1 1 5 4 1 13 7 1 41 2 7 5 1 1 3 2 2 1 3 2 1 5 1 2 1 2 1 34
'if
(élé-
6 1 1 3 4 2 3 1 1 7 59 8 1 4 1 3 2 3 1 3 1 60 7 1 4
1 4 5 2 1 13 2 1 61 4 6 1 2 3 2 35 3 15 1 4 1 3 3 7 10
1 1 10 2 3 12 12 5 1 5 1 4 1 2 3 2 6 2 1 1 1 72 1 1 2
11 2 4 2 4 1 2 1 376 6 1 2 2 3 1 1 3 1 13 1 2 2 2 8 1
2 4 1 19 14 1 1 4 25 4 3 1 12 1 9 14 2 107 1 1 1 5 5 4 2 5 1 1 2 1 8 1 1 3 1 2 1 3 4 3 11412 1 1 1 5 1 1 1 13
2 1 13 1 27 6 12 1 1 1 1 7 1 5 2 1 1 4 4 1 4 1 1 5 1
1 4 41 14 2 1 1 1 10 1 6 1 2 1 4 1 1 1 1 39 1 50 1 4 1
1 1 1 1 7 1 2 3 3 2 1 4 1 1 2 1 1 4 1 2 3 1 1 1 7
3 2 1 8 1 1 3 1 2 2 6 2 10 1 2 3 13 2 2 1 1 1 6 1 1
12 1 8 1 2 5 1 9 31 73 1 6 1 1 27 56 1 2 9 1 19 1 2 1 1
1 1 4 1 1 1 8 3 6 1 3 1 1 1 3 22 1 2 3 5 1 1 1 1 6 1 2 2 6 2 1 6 1 1 1 2 1 7 1 1 1 1 3 1 212 1 1 1 2
13 1 7 1 9 1 2 18 5 1
3 3 1 1 1 1 1 1 4 5
5 1 63 12 2 2 2 4 93 6
1 4 37 1 2 1 1 3 1 1
2 2 12 2 7 14 4 1 1 2
6 1 1 1 1 2 14 1 4 3
1 7 1 2 5 2 1 4 1 4
101233 4 2 1 1 1 2 101 1 2 1 3 1 1 1 1 58 7 1 1 2 2 73 1 1 16 28
1 2 2 1 3 1 1 5 1 17
4 3 4 5 5 3 2 1 3 2
1 9 86 1 1 5 1 1 2 1
3 1 4 2 1 33 5 2 2 8 2 2 1 1 1 9 2 5 1 1 2 1 2 1 15
255
39 10 2 3 1 5 1 13 10 42 1 2 129 1 1 6 1 1 1 4 2 1 6 1 3
59 4 2 1 2 18 1 1 2 1 1 3 1 1 1481 1 1 5 5
256
10
Tables des chiffres de
Développement en fraction continue de ments de 1 401 à 2 000)
(1401) (1421) (1441) (1461) (1481) (1501) (1521) (1541) (1561) (1581)
26 20 2 8 2 5 9 9 4 1
1 1 1 2 1 16 5 1 1 1
1 17 2 47 161 3 2 7 1 1
(1601) (1621) (1641) (1661) (1681) (1701) (1721) (1741) (1761) (1781)
3 1 1 4 1 4 1 1 1 5
1 3 3 7 2 1 1 1 1 2
(1801) (1821) (1841) (1861) (1881) (1901) (1921) (1941) (1961) (1981)
1 2 3 4 1 3 16 1 3 1
4 1 4 1 3 1 4 30 6 6
4 1 1 2 1 1 3 1 3 22
(élé-
1 16 3 1 2 1 5 53 3 2
3 3 1 1 1 1 7 1 1 3
2 3 1 1 2 1 1 1 1 1
1 2 3 15 1 5 32 1 2 3
5 2 1 9 1 1 13 3 3 26
1 2 2 1 1 2 1 4 1 2
2 18 1 8 1 1 5 2 1 24
9 15 3 2 2 63 4 15 6 2
3 1 1 1 2 1 1 2 1 2
2 1 1 4 1 97 7 8 1 4
41 51 3 2 18 1 1 2 14 3
1 4 5 4 528 4 3 2 1 1
16 9 1 14 12 4 12 3 80 1
2 5 2 1 4 10 1 1 11 1
2 2 3 12 1 5 3 2 1 1
63 1 1 1 1 1 1 39 1 1 17 1 2 2 12 1 2 2 1 25 1 1 1 1 1 1 4 1 1 1
1 1 12 14 1 1 5 1 1 1
25 2 1 1 3 34 1 1 1 7
1 2 3 1 44 1 94 1 2 67
1 1 14 1 2 2 2 1 9 5
1 2 18 1 10 5 4 10 2 7
8 8 9 3 1 8 3 41 1 1
1 12 3 1 14 3 4 1 2 23
3 1 2 1 1 2 5 5 1 3
3 53 2 10 2 1 1 1 1 3
1 1 2 1 1 2 1 4 1 1
10 2 1 2 43 13 1 4 6 6
5 1 1 2 4 4 1 1 23 1
6 1 3 3 1 3 1 155 1 11
2 5 1 1 7 2 1 1 2 1
1 1 4 2 3 1 2 8 3 57
1 3 1 54 6 2 1 1 1 6
1 2 9 10 1 1 1 2 4 1
8 10 7 3 31 4 4 2 4 10
1 1 5 1 1 1 1 1 24 6
1 4 1 32 5 13 1 1 1 4
2 18 2 1 6 1 17 4 1 2
5 1 2 40 1 88 2 10 1 1
2 2 1 55 4 1 4 1 1 3
10 3 7 1 42 1 1 7 1 9
1 1 1 5 4 1 1 1 1 1
1 1 23 1 1 14 9 6 3 2
2 6 2 3 10 3 2 1 1 16
1 3 217 3 1 27 1 35 1 1
1 6 1 1 3 3 1 1 2 5
3 4 2 2 1 1 3 1 1 1
1 31 1 2 3 1 1 2 2 1
5 1 18 2 3 1 2 1 1 2
12 6 45 3 26 1 2 102 2 1
7r
7r
1 11 3 196 16 1 4 3 2 1
Bi bliographie
[1] Victor Adamchik, Stan Wagon, A Simple Formula for 7r, American Mathematical Monthly, Vol 104 (1997) 852-855, also in [20, pp. 557-559]
[2] Victor Adamchik, Stan Wagon, Pi : A 2000- Year Search Changes Direction, Education and Research, Vol 5 (1996), No. 1, 11-19.
En ligne à http://members . wri. com/victor/articles/pi .html
[3] Association pour le Développement de la Culture Scientifique (ADCS), 61 rue Saint-Fuscien, 80000 Amiens France, Le nombre 7r, Le PETIT ARCHIMÈDE.
[4] Timm Ahrendt, Schnelle Berechnung der komplexen Quadratwurzel auf hohe Genauigkeit, Logos Verlag, Berlin, 1996. En ligne à http://web.informatik.uni-bonn.de/II/staff/ahrendt/AHRENDTliteratur.html
[5] Gert Almquist, Many Correct Digits of 7r, Revisited, American Mathematical Monthly, Vol. 104 (1997), No. 4, 351-353. [6] Archimedes, Measurement of a Circle, in The Works of Archimedes, Ed. by T.L. Heath, Cambridge University Press, 1897, also in [20, pp. 7-14]. [7] Jorg Arndt, Remarks on arithmetical algorithms and the computation of 7r.
En ligne à http://www.jjj.de/j oerg. html.
[8] Nigel Backhouse, Pan cake functions and approximations ta thematical Gazette, Vol. 79 (1995), 371-374.
7r.
The Ma-
[9] David H. Bailey, The Computaion of 7r to 29 360 999 Decimal Digits Using Borweins' Quartically Convergent Algorithm, Mathematics of Computation, Vol. 50, No. 181 (Jan. 1988), 283-296, also in [20, pp. 562-575].
[10] David Bailey, Peter Borwein and Simon Plouffe, On The Rapid Computation of Various Polylogarithmic Constants.
258
Bibliographie
En ligne à http://www.cecm.sfu.ca/- pborwein, also in [20, pp. 663-676J.
[I1J David H. Bailey, Jonathan M. Borwein and Peter B. Borwein, Rama-
nujan, Modular Equations, and Approximations to Pi or How to compute One Billion Digits of Pi, American Mathematical Monthly, Vol. 96 (1989), 201-219, also in [20, pp. 623-641J.
[12] David H. Bailey, Jonathan M. Borwein and Richard E. Crandall, On the Khintchine Constant, Mathematics of Computation, Vol. 66, No. 217 (Jan. 1997),417-431. [13] David H. Bailey, Jonathan M. Borwein, Peter B. Borwein and Simon Plouffe, The Quest for Pi, The Mathematical Intelligencer, Vol. 19 (1997), No. 1,50-56 [14] Walter William Rouse BalI, Mathematical Recreations and Essays, llth edition with revisions, Macmillan & Co Ltd, London, 1963. [15] Walter William Rouse BalI, Harold Scott Macdonald Coxeter, Mathematical Recreations and Essays, Toronto, 1974. [16] J. P. Ballantine, The best (?) formula for computing 7r to a thousand places, American Mathematical Monthly, Vol. 46 (1939), 499-501. [17] Friedrich L. Bauer, Decrypted Secrets, Methods and Maxims of Cryptology, Second, Revised and Extended Edition, Springer-Verlag, Heidelberg, 2000. [18] Petr Beckmann, A History of 7r (PI), Fifth Edition, The Golem Press, Boulder, Colorado, 1982. [19] Fabrice Bellard, Computation of the n'th digit ofpi on any base in 0(n 2 ), En ligne à http://www-stud.enst.fr/- bellard/pif.
[20] Lennart Berggren, Jonathan Borwein, Peter Borwein, Pi : A Source Book, Springer-Verlag, New York, 1997. [21] Bruce C. Berndt, Ramanujan-100 Years Old (Fashioned) or 100 Years New (Fangled) ?, The Mathematical Intelligencer, Vol. 10 (1988), No. 3, 2429. [22] Bruce C. Berndt, A Pilgrimage, The Mathematical Intelligencer, Vol. 8 (1986), No. l, 25-30. [23] Bruce C. Berndt and Robert A. Rankin, Ramanujan, Letters and Commentary, American Mathematical Society, London Mathematical Society, 1995.
Bibliographie
259
[24] Bruce C. Berndt, Ramanujan's Notebooks, Part 1(1985), II(1989), III(1991), IV(1994), V(to appear), Springer-Verlag, New York. [25] Bruce C. Berndt and S. Bhargava, Ramanujan - For Lowbrows, American Mathematical Monthly, Vol. 100 (1993), 644-656. [26] Eugen Beutel, Die Quadratur des Kreises, Mathematische Bibliothek, No. 12, Verlag von B.G. Teubner, Leipzig und Berlin, 1913. [27] Ludwig Bieberbach, Personlichkeitsstruktur und mathematisches Schaffen, Forschungen und Fortschritte, 10. Jahrg., NI. 18 (20. Juni 1934), 235-237. [28] David Blatner, The Joy of 7r, Walker and Company, New York, 1997. [29] Jonathan M. Borwein, Brouwer-Heyting Sequences Converge, Mathematical Intelligencer, Vol. 20, No. 1, 1998, 14-15. [30] Jonathan M. Borwein and Peter B. Borwein, The Arithmetic-Geometric Mean and Fast Computations of Elementary Functions, SIAM Review, Vol. 26, No. 3 (July 1984), 351-366, also in [20, pp. 537-552]. [31] Jonathan M. Borwein, Peter B. Borwein, More Ramanujan-type Series for 1/7r, Proceedings of the Centenary Conference, Univ. of Illinois at Urbana-Champaign, June 1-5, 1987, 359-374. [32] Jonathan M. Borwein, Peter B. Borwein, Pi and the AGM - A Study in Analytic Number Theory and Computational Complexity, Wiley, N.Y., 1987. [33] Jonathan M. Borwein, Peter B. Borwein, Ramanujan and Pi, Science and Applications; Supercomputing 88 : Volume II, 117-128, 1988. Également dans [20, p. 588-595] [34] Jonathan M. Borwein, Peter B. Borwein, Strange Series and High Precision Fraud, American Mathematical Monthly, Vol. 99 (1992), 622-640. [35] Jonathan M. Borwein, Peter B. Borwein and K. Dilcher, Pi, Euler Numbers, and Asymptotic Expansions, American Mathematical Monthly, Vol. 96 (1989), 681-687, also in [20, pp. 642-648]. [36] Jonathan M. Borwein and Roland Girgensohn, Addition theorems and binary expansions, Canadian Journal of Mathematics, Vol. 47 (1995), 262273. [37] Richard P. Brent, Fast Multiple-Precision Evaluation of Elementary Functions, Journal of the ACM, Vol. 23, No. 2, April 1976, 242-251, also in [20, pp. 424-433). [38] E. Oran Brigham, sI The Fast Fourier Transform, Prentice Hall, 1994.
260
Bibliographie
[39] David M. Burton, Burton 's History of Mathematics : An Introduction, Wm. C. Brown Publishers, Third Edition, 1995. [40] George S. Carr, Formulas and Theorems in Pure Mathematics, Second Edition, Chelsea Publishing Company, 1970. [41] Dario Castellanos, The Ubiquitous K, Mathematical Magazine 61 (1988), 67-98 (Part I) and 148-163 (Part II). [42] Henri Cohen, F. Rodriguez Villegas and Don Zagier Convergence acceleration of alternating series, Experimental Math., to appear. En ligne à http://www.math.u-bordeaux.fr/cohen/ [43] J.W. Cooley, and J.W.Tukey, An algorithm for the machine calculation of complex Fourier series, Mathematics of Computation Vol. 19 (1965), No. 90, 297-301. [44] James W. Cooley, Peter A.W. Lewis and Peter D. Welch, Historical Notes on the Fast Fourier Transform, Proceedings of the IEEE, Vol. 55 (October 1967), No. 10, 1675-1677. [45] David A. Cox, The arithmetic-geometric mean of Gauss, L'Enseignement Mathématique, t. 30 (1984), 275-330, also in [20, pp. 481-536]. [46] David A. Cox, Gauss and the Arithmetic-Geometric Mean, Notices of the American Mathematical Society 32 (1985), 147-151. [47] Richard E. Crandall, Projects in Scientific Computation, SpringerVerlag, New York, Inc., 1994. [48] Jean-Paul Delahaye, Le fascinant nombre
K,
Pour La Science, 1997.
[49] Drinfel'd, Quadratur des Kreises und Transzendenz von scher Verlag der Wissenschaften, Berlin, 1980.
K,
VEB Deut-
[50] Underwood Dudley, Mathematical Cranks, The Mathematical Association of America, 1992. [51] Heinz-Dieter Ebbinghaus, Reinhold Remmert, et aL, Numbers, SpringerVerlag, New York, 1990. [52] Leonhard Euler, Introduction to Analysis of the Infinite, Translation of : Introductio in analysin infinitorum, Book l, Translated by John D. Blanton, Springer-Verlag, New York, 1988, Chapter 10 also in [20, pp. 112-128]. [53] Leonhard Euler, Einleitung in die Analysis des Un en dlich en , Erster Teil. Ins Deutsche übertragen von H. Maser, Berlin. Verlag von Julius Springer. 1885. [54] Martin Gardner, Sorne comments by Dr. Matrix on symmetrics and reversaIs, Scientific American, January 1965, 110-116.
Bibliographie
261
[55J Carl Friedrich Gauss, Mathematisches Tagebuch, 1796-1814, Reihe Ostwalds Klassiker der exakten Wissenschaften, Akademische Verlagsgesellschaft Geest & Portig K.-G., Leipzig 1985. Also in [56, X, pp. 483-574J. [56] Carl Friedrich Gauss, Werke, Gottingen, 1866-1933. [57] C.F. Gauss, Nachlass zur Theorie des Arithmetisch-Geometrischen Mittels und der Modulfunktion, herausgegeben von Harald Geppert, Reihe Ostwald's Klas-siker der exakten Wissenschaften, Nr. 225, Akademische Verlagsgesellschaft, Leipzig, 1927. [58] Roland Girgensohn, personal E-Mail, 1997. [59] Franz Gniidinger, Primary Hill And Rising Sun.
En ligne à http://www.access.ch/circle/. [60J Wei Gong-yi, Yang Zi-qiang, Sun Jia-chang, Li Lia-kai, The Computation of 7r ta 10 000 000 Decimal Digits J. Num. Method & Comp. Appl., 17 :1(1996), 78-81. [61] Gross, Zagier, On singular moduli, J. Reine Angew. Math., 355(1985), 191-220. [62] Bruno Haible und Thomas Papanikolaou, Fast multipliprecision evaluatian of series of rational numbers, En ligne à
http://www.informatik.th-darmstadt.de/TI/VeroeffentlichungITR/Welcome.htn [63] Godfrey H. Hardy, Raman ujan , Twelve Lectures on Subjects Suggested by his Life and Work, Chelsea Publishing Company, New York, 1940. [64] Sir Thomas Heath, A History of Greek Mathematics, Volume II From Aristarchus To Diophantus, Dover Publications, 1981, first published 1921. [65J M. Heidemann, D. Johnson, C. Burrus, Gauss and the history of the Fast Fourier transformation, IEEE ASSP Magazine 1, 1984, 14-21. [66] Joseph E. Hofmann, Geschichte der Mathematik, Sammlung Goschen Band 226 (Erster Teil), Band 875 (Zweiter Teil), Band 882 (Dritter Teil), Walter de Gruyter & Co, Berlin 1953. [67J Dirk Huylebrouck, The 7r-Room in Paris, The Mathematical Intelligencer, Vol. 18, No. 2, 1996, 51-53. [68J William Jones, Synopsis Palmariorum Mathesos, London, 1706, In extracts in [20, pp. 108-1091. [69] A.P. Juschkewitsch, Geschichte der Mathematik im Mittelalter, Teubner Verlag, 1964.
262
Bibliographie
[70] Sven Kabus, Untersuchung verschiedener 1f~Algorithmen am PC, (PC investigation of various 1f algorithms), entry in the Jugend forscht (Youth researches) competition, 1998, Junge wissenschaft (Friedrich-Verlag), 58 (1999),34-42. [71] Robert Kanigel, The Man Who Knows Infinity, Macmillan Publishing Company, 1991. [72] Victor J. Katz, A History of Mathematics, HarperCollins College Publishers, 1993. [73] Theo Kempermann, Zahlentheoretische Kostproben. Verlag Harri Deutsch, Thun, Frankfurt am Main, 1995. [74] Alexander Khintchine, Continued Fractions, Nordhoff, Groningen 1963 [Moskow 1935]. [75] Louis V. King, On the Direct Numerical Calculation of Elliptic Functions and Integrals, Cambridge University Press, Cambridge, 1924. [76] Konrad Knopp, Infinite sequences and series, Dover Publications, New York, 1956 [77] Donald E. Knuth, The Art of Computer Programming, Volume 2 Seminumerical Algorithms, Third Edition, 1998, 4th Printing August 1999. [78] Lam Lay-Yong and Ang Tian-Se, Circle Measurement in Acient China, Historia Mathematica, Vol. 13 (1986), 325-340, also in [20, pp. 20-44]. [79] Johann Heinrich Lambert, Mémoire sur quelques propriétés remarquables des quantités transcendantes circulaires et logarithmiques, Memoires de l'Academémie de sciences de Berlin, [17] (1761), 1768,265-322, also in [20, pp. 129-140]. [80] L.J. Lange An elegant new continued fraction for matical Monthly, Vol 106 (May 1999) 456-458.
1f,
American Mathe-
[81] Nick Lord, Recent calculations of 1f : the Gauss-Salamin algorithm, The Mathematical Gazette, Vol. 76 (1992), 231-242. [82] Philipp Maennchen, Gauss als Zahlenrechner, in [56, X-2,1-73]. [83] Eli Maor, e : the story of a number, Princeton University Press, 1994. [84] Yuri V. Matiyasevich, Richard K. Guy, A New Formula for Mathematical Monthly, Vol. 93, (October 1986), 631-635.
1f,
American
[85] Niels Nielsen, Die Gammafunktion, Chelsea Publishing Company, Bronx, New York, 1965 (first published 1906). [86] Ivan Niven, Irrational Numbers, John Wiley and Sons, 1956.
Bibliographie
263
[87] C.D. Olds, Continued Fractions, Mathematical Association Of America, 1963. [88] Thomas J. Osier, The Union of Vieta's and Wallis's Products for Pi, American Mathematical Monthly, Vol. 106, (October 1999), 774-776. [89] S. Parameswaran, Whish's showroom revisited. The Mathematical Gazette, 76(1992), 28-36. [90] Oskar Perron, Die Lehre von den Kettenbrüchen, Band l and II, B.G. Teubner Verlagsgesellschaft, Stuttgart, 3. Auflage, 1957. [91] G.M. Phillips, Archimedes and the numerical analyst, American Mathematical Monthly, Vol. 88(1981), 165-169, also in [20, pp. 15-19]. [92] Richard Preston, The Mountains of pi, The New Yorker, Mar. 2, 1992, 36-67. [93] Martin R. Powell, Significant insignificant digits, The Mathematical Gazette, 66(1982), 220-221. [94] Stanley Rabinowitz, Abstract 863-11-482 : A Spigot Algorithm for Pi, Abstracts Amer. Math. Society, 12(1991), 30. [95] Stanley Rabinowitz and Stanley Wagon, A Spigot Algorithm for the Digits of Pi, American Mathematical Monthly, Vol. 103 (March 1995), 195203. [96] Srinivasa Ramanujan, Modular equations and approximations to Quart. J. Math. 45 (1914) 350-372, also in [20, pp. 241-257].
7r,
[97] Srinivasa Ramanujan, Squaring the Circle, J. Indian Math. Soc. 5(1913), 132, also in [20, p. 240]. [98] Ranjan Roy, The Discovery of the Series Formula for 7r by Leibniz, Gregory and Nilakantha, Mathematics Magazine 63 (1990), 291-306, also in [20, pp. 92-107]. [99] Hansklaus Rummler, Squaring the Circle with Hales, American Mathematical Monthly, Vol. 100 (November 1993), 858-860. [100] Eugene Salamin, Computation of7r Using Arithmetic-Geometric Mean, Mathematics of Computation, Vol. 30, No. 135, July 1976, 565-570, also in [20, pp. 418-4231. [101] Eugene Salamin, E-Mail to J6rg Arndt, 1997. [102] Norbert Schappacher, Edmund Landau 's Gottingen : From the Life and Death of a Great Mathematical Center, The Mathematical Intelligencer, Vol. 13, No. 4, 12-18.
264
Bibliographie
[103] L. Schlesinger, Über Gauss Funktionentheoretische Arbeiten, in [56, X.2, 9-90] . [104] Arnold Schonhage and Volker Strassen, Schnelle Multiplikation grosser Zahlen, Computing 7 (1971), 281-292. [105] Arnold Schonhage, A. F. W. GrotefeldjE. Vetter, Fast Aigorithms, A Multitape Turing Machine Implementation, BI Wissenschaftsverlag, Mannheim, 1994. [106] D. Shanks and J. W. Wrench, Ca1culation of Pi to 100 000 DecimaIs, Mathematics of Computation, vol. 16 (1962), 76-79, also in [20, p. 326-329]. [107] Daniel Shanks, Dihedral Quartic Approximations and Series for 7r, Journal of Number Theory 14(1982), 397-423. [108] Daniel Shanks, Improving an Approximation for Pi, American Mathematical Monthly, Vol. 99 (1992) No. 3, 263. [109] Allen Shields, Klein and Bieberbach, Mathematics, Race, and Biology, The Mathematical Intelligencer, Vol. 10 (1988), No. 3, 7-11. [110] David Singmaster, The legal values of 7r, The Mathematical Intelligencer, Vol. 7 (1985), No. 2, 69-72, also in [20, pp. 236-239]. [111] M.D. Stern, A Remarkable Approximation to 7r, The Mathematical Gazette, Vol. 69 (1985),218-219, also in [20, pp. 460-461]. [112] Lutz von Strassnitzky, Der Kreis-Umfang für den Durchmesser 1 auf 200 Dec-imalstellen berechnet von Herm Z. Dahse in Wien. Journal für die reine und angewandte Mathematik, Bd 27, 1844, 198. [113] D. Takahasi, Y. Kanada, Ca1culation of Pi to 51.5 Billion Decimal Digits on Distributed Memory and Parallel Processors, Transactions of Information Processing Society of Japan, Vol. 39, No. 7, (1998). [114] Johannes Tropfke, Geschichte der Elementarmathematik, Vierter Band, Ebene Geometrie, Dritte Aufiage, Walter De Gruyter & Co, 1940. [115] Franciscus Vieta (François Viète), Variorum de Rebus Mathematicis, 1593, Caput XVIII, 400, auch (tw.) in [20, p. 53-56]. [116] Alexei Volkov, Zhao Youquin and His Ca1culation of 7r, Historia Mathematica, Vol. 24, No. 3, August 1997, 301-331. [117] Stan Wagon, Is 7r Normal? The Mathematical Intelligencer, Vol. 7 (1985), No. 3, 65-67, also in [20, pp. 557-559]. [118] Sebastian Wedeniwski, Piologie, Eine exakte arithmetische Bibliothek in C++, Edition 1.3, http://www.hipilib.de/
Bibliographie
265
[119J David Wells, The Penguin Dictionary of Curious and Interesting Numbers, Penguin Books, Middlesex, 1986. [120J David Wells, Are These the Most Beautiful 7, The Mathematical Intelligencer, Vol. 12, No. 3, 37-41. [121J Jet Wimp, Book Review of Pi and the AGM in SIAM Review, Oct. 1988, 530-533. [122] J. W. Wrench, Jr., The evolution of extended decimal approximations to K, The Mathematics Teacher, vol. 53 (Dec. 1960), 544-650. also in [20, p. 319-325]. [123] Robert M. Young, Probability, pi, and the primes, Serendipity and experimentation in elementary calculus, The Mathematical Gazette, Vol. 82 (Nov. 1998), 443-451.
Index général Mathematicallntelligencer, 193 aiguilles, 38 de Buffon, 39 algorithme de Kabus, 65 de Monte-Carlo, 39 Schonhage-Strassen, 219 BBP, 17, 46, 122 binsplit, 217 rapide, 220 récursif, 218 d'Euclide, 41 découpage binaire, 115 de Bellard, 133 de Cooley-Tuckey, 201 de Descartes, 187 des fléchettes, 39 exponentiation rapide, 125 goutte à goutte, 37, 79 goutte à goutte, 17 Karatsuba, 137 MAG, 91 MAG pour 1f, 94 PSQL, 122 quadratique, 118 quartique, 118 quintique, 115 récursif, 138 racine carrée, 152 variante de Schonhage, 95 American Math. Monthly, 213 Amis du nombre Pi, 46 approximation rationnelle, 52 arc tangente, 71 Aryabhatiya, 183
Babylone, 171 Bible, 51, 173 boule unité, 161 Cadaeic Cadenza, 44 calcul collectif de 1f, 115 calcul formel, 122 CECM,117 Chine, 180 club 1000, 46 conjecture de Riemann, 7 constante d'Apéry, 12 constante de Khintchine, 70 construction à la règle et au compas, 7 convergence quadratique, 92 conversion de radical, 81 convolution, 142 linéaire, 145 coprimalité, 41 coslem, 101 courbe de Gauss, 9 Crible d'Ératosthène, 37 divisions, 149 dynastie Han, 180 définition géométrique, 8 développement binaire, 12 développement héxadécimal, 5 Egypte, 171 ENIAC, 200 entonnoir infini, 167 Equation d'Euler, 193 Equations modulaires, 27, 57, 108 Ere moderne, 185
268 expressions infinies, 188 fonction theta, 98 formule d'Arndt, 77 d'Euler, 72, 75 de Hutton, 75 de Machin, 74 de Gauss, 90 formule d'Euler-Mac Laurin, 160 formule en arc tangente, 195 fraction continue, 5, 32, 66 régulière, 67 décimale infinie, 51 Freunde der Zahl, 10 Grèce antique, 173 hypersphères, 161 Inde, 172, 183, 188 intuitionnisme, 31, 32 intégrales elliptiques, 98 leminiscate, 99 livre Guinness des records, 46 loi binomiale, 3 méthode de Newton, 109 méthode de Newton, 149 sans division, 151 mathematical cranks, 7 Moyen Âge, 183 multiplication Karatsuba, 136 polynômes, 141 rapide, 201 scolaire, 136 méthode de Brent et Salamin, 90 MAG, 90 nombre aléatoire, 22
Index général
générateur, 29 irrationnel, 22 normal, 23 transcendant, 22 nombre de Ludolph, 186 nombre normal, 5 nombres d'Euler, 160 normal, 5, 22 absolument, 22 simplement, 22 Palais de la Découverte, 49 papyrus Rhind, 171, 213 PiFast, 2 PiHex, 19 poèmes mnémotechniques, 43 polygones, 174 polygones réguliers, 14 produit d'Euler, 166 de Viète, 57, 164 de Wallis, 9, 165, 190 produits infinis, 189 Programme C binsplit, 218 programme C 7r par le cercle, 35 BBP, 128 conversions, 67 coprimalité, 42 décimales de e, 87 dessin de 7r, 36 goutte à goutte, 83 variante, 85 le plus court, 37 Monte Carlo, 40 TFR, 145 tranformée de Fourier, 143 programme Mupad racine carrée, 152 sumalt, 156 projet Internet, 221 quadrature du cercle, 7, 58, 166, 211
269
Index général
quadraturite, 199 Râ, 212 règle des cordes, 172 racine n-ième, 153 racines carrées, 150 Ramanujan S. Janacki, 110 rayon, 170 Rome, 179 série BBP,119 de Gregory, 72, 110, 195 de Leibiz, 159 de Leibniz, 72, 154, 187, 192 de Ramanujan, 109, 114 de Stormer, 200 sastras, 188 sinlem, 101 Sogdiane, 183 sommes infinies, 191 suite de Fibonacci, 77 Sulvasutras, 172 sumalt, 155 symbole 7r, 169 système de numération, 139 série BBP, 19, 122 de Bellard, 131 table de logarithmes, 140 tables de risque, 9 Tansformation de Fourier rapide, 140 taxi nO 1729, 112 test du X2 , 24 du poker, 23 statistique, 23 théorème de convolution, 144 théorème de Fermat, 7 théorème de Lindemann, 6 transcendant, 6 transformée de Fourier directe, 143 inverse, 143
Transformation de Fourier rapide, 15, 144, 201 triangle pythagoricien, 212 Yukti-Bhasa, 188 Yukti-Dipika, 188 Zoser, 213
Index des mathématiciens Abel Henrik, 113 Ada comtesse de Lovelace, 122 Adamchik Viktor, 130 Aitken Alexandre, 26 Al Khowârizmi, 183 AI-Kashî, 185 Alkarisme, 183 Anaxagore, 173 Andersson Eve, 157 Antiphon, 173 Archimède, 52, 55, 71, 174 Archimède, 14 Aristophane, 7 Aristote, 31 Arndt J6rg, 76, 114 Aryabhata, 56, 183 Bailey David, 18, 121, 161, 204 Barrow Isaac, 170 Bauer F.L, 55, 62 Bayes Thomas, 21 Bellard Fabrice, 131, 205 Berggren Leenart, 120 Berndt Bruce, 110 Bernoulli Jacob, 99, 193 Bernoulli Johann, 99, 170, 193 Bieberbach Ludwig, 215 Blatner David, 204 Borwein Jonathan, 10, 31, 47, 59, 117, 160 Borwein Peter, 10, 18, 59, 117, 121, 160, 205 Brahmagupta, 183 Brent Richard, 89 Brouncker William, 12, 190 Brouwer L.E.J., 31
Brown K.S, 38 Buffon, 38 Caroll Lewis, 45 Carr George, 110 Castellanos Dario, 60, 158 Chongzi Zu, 182 Chudnowsky, 1, 2, 11, 29, 34, 114, 203, 217 Cohen Henri, 155 Cooley J., 141, 201 Cotes Roger, 193 Cox David, 98 Cusanus Nicolaus, 186 Dürer Albrecht, 185 Dante Aligheri, 56, 184 Dase Zacharias, 197 de Fermat Pierre, 6 de Morgan Augustus, 199 Decerf P., 44 Descartes René, 187 Dilcher K., 160 Dudley, 7 Euclide, 41, 173 Eudoxe, 173 Euler Leonhard, 9, 13, 66, 72, 100, 102, 170, 192 Fagnano Giovanni, 100 Fan Wang, 180 Fautet de Lagny, 44, 196 Felton F.E, 200 Ferguson, 49 Ferguson Daniel, 199 Feynmann, 3
272
Fourier Joseph, 140 Fox CoO, 38 Gardner Martin, 25 Gauss Carl Friedrich, 16, 57, 89, 187 Genuys F 0' 200 Girgensohn Roland, 47 Gnaedinger Franz, 212 Gosper William, 33, 204 Gourdon Xavier, 2 Gregory James, 71, 187 Grienberger, 186 Héron, 179 Haible Bruno, 217 Hardy Godfrey, 111, 215 Heng Zhang, 180 Hermite Charles, 174, 199 Hiryuki Goto, 46 Hofstader Douglas, 14 Hui Liu, 180 Hutton Charles, 74
Index des mathématiciens
Landau Edmond, 215 Lange LoJ, 33 Lay-Yong Lam, 180 Legendre Adrien-Marie, 57 Leibniz Gottfried Wilhelm, 191 Lievaart Roemer, 36 Lindemann Ferdinand, 6, 199 Lord Nick, 102 Machin John, 13, 74, 170, 195 Madhavan, 189 Matsunaga, 197 Metius Adrianus, 184 Nemorarius Jordanus, 187 Newton Isaac, 149, 191 Niven Yvan, 23 Olds CoD, 66 OsIer Thomas, 164 Oughtred William, 170
Percival Colin, 19, 132, 206 Perron Oskar, 66 Platon, 56, 174 Jeans James, 44 Plouffe Simon, 18, 46, 47, 61, 121, Jones William, 169, 196 132, 205 Poe Edgar Allan, 44 Kabus Sven, 65 Kanada Yasumasa, 1, 10, 29, 34, 196 Poeppe Christoph, 212 Powell R., 160 Kanigel Robert, 110 Prameswaran So, 189 Karatsuba Anatole, 136 Prigsheim Ao, 66 Keith Michael, 44 Ptolémée, 179 Kenko Tabeke, 197 Pythagore, 212 Khintchine Alexandre, 69 Knuth Donald, 28, 125 Rabinowitz Stanley, 37, 79 Kochansky, 57 Ramanujan Srinivasa, 13, 28, 57, 107, Kudoh Mo, 1 202 Kuroda Ho, 1 Regiomontanus, 184 Léonard de Pise (Fibonacci), 77, 183 Rhind AoH, 171 Richter, 199 Léonard de Vinci, 184 Rinjan Roy, 189 Lévy Paul, 70 Rogers LoJ, 66 Lagrange Joseph-Louis, 98 Lambert Johann Heinrich, 5, 55, 67, Rummler Hansklaus, 166 Rutherford, 197 195
Imhotep, 213
273
Index des mathématiciens
Sagan Carl, 13 Salamin Eugene, 89, 104 Sankaran, 189 SchOnhage Arnold, 151 SchOnhage Arnold, 95 Shakespeare William, 45 Shanks Daniel, 48, 63, 200 Shanks William, 49, 198 Sharp Abraham, 192 Singmaster David, 214 Snell Wildebrord, 49, 182, 186 Somayaji Kelallur Nilakantha, 189 Stern M.D, 173 Stifel Michael, 199 Stirling James, 62, 100 Tian-Se Ang, 180 Trofke, 172 Tsu Chhung-Chih, 52, 55 Tuckey J., 141, 201 Umasvati, 172 Ushiro Y., 1 van Ceulen Ludolph, 185 van Romanus Adrian, 185 Vega, 196 Viète François, 56, 164, 185, 189 Villegas Rodriguez, 155 Viète François, 12 von Strassnitzky Lutz, 197 Wagon Stanley, 37, 79, 130 Waldo C.A, 214 Wallis John, 9, 164, 190 Wedeniwski Sébastien, 11 Wei Gong-yi, 161 Wells David, 193 Westley Brian, 35, 36 Whish Charles, 188 Wiles Andrew, 7 Williams Roy, 27 Wrench John Jr., 199, 200 Xin Liu, 180
Zagier Don, 155 Zhang Hen, 56
EXTRAIT DU CATALOGUE VUIBERT WWW.VUIBERT.FR
HISTOIRE DES SCIENCES Sous la direction d'Évelyne Barbin et d'Anne Boyé, François Viète. Un mathématicien sous la Renaissance, 288 pages Bruno Belhoste, Hélène Gispert et Nicole Hulin (coordinateurs), Les sciences au lycée, 336 pages Sous la direction de René Bimbot, Les 100 plus belles découvertes d'Orsay (1955-2005), 160 pages Sous la direction de Jean-Claude Dupont, Histoires de la mémoire. Pathologie, psychologie & biologie, préface de Michel Meulders, 336 pages Antonio Fischetti et Guillaume Lecointre, Charlie ramène sa science, 352 pages, illustré par Charb, Honoré, Jul, Luz, Riss, Siné, Tignous, Wolinski Coordonné par Sébastien Hauger, Nature, société, technologie. Le décryptage du réel par les nouveaux chercheurs, préface de Jean-Marc Monteil, 208 pages Nicole Hulin, L'enseignement et les sciences. L'exemple français au début du siècle, préface de Dominique Julia, 272 pages Véronique Le Ru, Voltaire newtonien. Le combat d'un philosophe pour la science, coédition ADAPT/SNES, 128 pages Philippe Morod-Broca, Paul Broca, un géant du
XIX'
siècle, préface de Jean-Didier Vincent, 320 pages
Catherine Paquot, Henri Sainte Claire-Deville. La chimie au service de l'industrie, préface d'Alain Plessis, postface d'Ivan Grinberg, 240 pages
MAT H ÉMAT 1 Q!J E S Jean Baudet, Nouvel abrégé d'histoire des mathématiques, postface de Jean Dhombres, 336 pages Jean-Pierre Boudine, - La géométrie de la chambre à air. 39 mystères mathématiques de Science & Vie Junior, illustré par Yves Guézou, 192 pages - Homo mathematicus. Les mathématiques et nous, préface de Michel Demazure, 208 pages
Claude Bouzitat et Gil Pagès, En passant par hasard... Les probabilités de tous les jours, illustré de 35 gags par Yves Guézou, 288 pages René Descombes, - Les carrés magiques. Histoire, théorie et technique du carré magique, de l'Antiquité aux recherches actuelles, 496 pages - La magie du carré, 608 pages Ahmed Djebbar, L'algèbre arabe. Genèse d'un art, préface de Bernard Maitte, coédition ADAPT/SNES, 224 pages Albert Ducrocq et André Warusfel, Mathématiques: plaisir et nécessité, 384 pages Pierre Dugac, Histoire de l'analyse. Autour de la notion de limite et de ses voisinages, préface de Jean-Pierre Kahane, texte édité par Bernard Bru et Roger Laurent, 432 pages H.-D. Ebbinghaus, H. Hermes, F. Hirzebruch, M. Koecher, K. Mainzer, A. Prestel et R. Remmert, Les nombres, traduit de l'allemand par François Guénard, 464 pages
J.
Neukirch,
Olivier Keller, Aux origines de la géométrie: le paléolithique, préface de Denis Vialou, 240 pages Henri Lebesgue, Les lendemains de l'intégrale. Lettres à Émile Borel, préface de Gustave Choquet, 240 pages François Lo Jacomo, Visualiser la quatrième dimension, préface de Henri Delekta, illustré par Daniel Muller, 128 pages Claudine Robert, Contes et décomptes de la statistique. Une initiation par l'exemple, illustré par Yves Guézou, 208 pages Société mathématique de France, Où en sont les mathématiques ? sous la direction de Jean-Michel Kantor, avec le concours de Claude Sabbah, 448 pages
SCIENCES PHYSIQYES Jean Baudet, Penser la matière. Une histoire des chimistes et de la chimie, 400 pages Istvan Berkès - Entre atome & astrophysique: la nouvelle physique, 192 pages - La physique de tous les jours, 5' édition mise à jour, illustré par Yves Guézou, 464 pages
Danielle Fauque, Lavoisier et la naissance de la chimie moderne, 240 pages Pierre Juhel, Histoire de l'acoustique sous-marine, préface de Pierre Alais, coédition ADAPT/SNES, 240 pages Claude Lécaille, L'aventure de la chimie jusqu'à Lavoisier, préface de Jean Rosmorduc, coédition ADAPT/SNES, 320 pages Jean-Marc Lévy-Leblond, La physique en questions: Mécanique, illustré par Yves Guézou, 136 pages Jean-Marc Lévy-Leblond et André Butoli, La physique en questions: Électricité et magnétisme, illustré par Yves Guézou, 144 pages Jean-Pierre Maury, - À l'origine de la recherche scientifique: Mersenne, avec le concours de SylvieTaussig, 320 pages - Une histoire de la physique sans les équations, illustré par Marianne Maury-Kaufmann, 240 pages Bernard Pourprix et Jacqueline Lubet, L'aube de la physique de l'énergie. Helmholtz, rénovateur de la dynamique, 176 pages Jean et Vinca Rosmorduc, Françoise Dutour, Les révolutions de l'optique et l'œuvre de Fresnel, préface de Michel Blay, coédition ADAPT/SNES, 176 pages Valerio Scarani, Initiation à la physique quantique, préface de Jean-Marc Lévy-Leblond, 128 pages Arkan Simaan, L'image du monde de Newton à Einstein, préface de Jean-Claude Pecker, coédition ADAPT/SNES, 160 pages
ASTRONOMIE Bernard Authier, Entre terre et ciel. À la découverte des sciences de l'atmosphère et de l'espace, préface de Georges Courtès, coédition ADAPT/SNES, 208 pages André Brahic, Planètes et satellites, 2' édition Patrick Brassier, Navigation astronomique. Manuel pratique, 2' édition, 208 pages Michel Crozon, Quand le ciel nous bombarde ... Qu'est-ce que les rayons cosmiques ?, 256 pages
Gilles Dodray, Arpenter l'univers. Comment observer, photographier et filmer le ciel en direct, préface de Dominique Proust, 272 pages Fabrice Drouin, L'astronomie en questions, 208 pages Marie-Françoise Serre, Les constellations et leurs légendes grecques, préface de SylvieVauclair, 160 pages Thierry Lehner, L'État de plasma, le feu de l'univers, préface de Jean-Pierre Pharabod, 288 pages Christophe Marlot, Les passages de vénus. Histoire et observation d'un phénomène astronomique, 400 pages Sous la direction de Philippe Morel, Au plus près de la planète Mars, avec le concours de G. Dawidowicz, P. Bourge, J.-Ch. Dalouzy, A. Dollfus, J. Dragesco, R. Ferlet, O. de Goursac, R. Heidmann, J. Meeus, H. Reyss, F. Rocard, M. Salameh, A. Souchier, J. Texereau et R. Verseau, préface d'Audouin Dollfus, coédition Société astronomique de France, 304 pages Sous la direction de Philippe Morel, Au plus près de Saturne, préface d'André Brahic, coédition Société astronomique de France, 296 pages Société astronomique de France, sous la direction d'Audouin Dollfus, Un siècle d'astronomie, préface d'Hubert Curien, 528 pages Arkan Simaan, La science au péril de sa vie, préface de Jean-Claude Pecker, coédition ADAPT/SNES, 208 pages Ouvrage coordonné par Arkan Simaan, Vénus devant le soleil. Comprendre et observer un phénomène astronomique, avec J. Blamont, G. Cannat, Y. Delaye, M. Laudon, J.-P. Luminet, D. Sellers et S. M. Van Roode, coédition AD APT/SNES, 208 pages Jean Texereau, La construction du télescope d'amateur, préface d'Alain Couder, 336 pages André Van der Elst, Guide du matériel d'observation de l'astronome, 160 pages
Achevé d'imprimer en Mars 2006 sur les presses de l'imprimerie Grapho 12 12200 Villefranche-de-Rouergue n° imprimeur: 030041 n° éditeur: MJ359
V
oilà plus de quatre mille ans que l'on étudie ce nombre, mais aucune période de l'histoire de 1t ne fut aussi productive qu'aujourd'hui. Au cours des vingt dernières années, les records mondiaux de calcul des décimales de 1t ont explosé, notamment grâce à l'algorithmique secondée par des outils informatiques toujours plus puissants. Le mystère des décimales de 1t reste néanmoins ... entier! Ce qui ne fait que prolonger cette quête acharnée. Dans un langage accessible aux non-spécialistes, voici une description complète des résultats les plus récents. On y trouvera une approche complémentaire à celle de Jean-Paul Delahaye, auteur de l'autre grand classique: Le fascinant nombre 1t (Belin, 1997). Initialement publié en allemand par le plus prestigieux des éditeurs de mathématiques, cet ouvrage est enfin disponible en français grâce à François Guénard - à qui l'on doit notamment l'édition française de l'ouvrage de référence sur Les Nombres - et à Henri Lemberg, auteur d'une dizaine de manuels de mathématiques. JOrg Arndt est physicien de formation, mais son goût pour l'algorithmique fait qu'aujourd'hui il développe des logiciels sous Linux; il est également l'auteur d'un manuel du langage C. Ancien dirigeant dans l'industrie du logiciel, Christoph Haenel applique depuis longtemps l'informatique au calcul de 1[, dont il fut une fois le recordman, dans les années 60 et sur une petite machine entrée aujourd'hui au musée.