Attention, ceci est une ancienne version de ma page web, qui n'est plus remise à jour depuis novembre 2004.
Cette page fait suite à l'article Logique et calcul de Jean-Paul Delahaye dans le magazine Pour la Science numéro 321 de juillet 2004. J'ai écrit un petit programme en C, zebre.c, pour produire des images telles celles qui apparaissent dans l'article.
Ce programme a besoin des bibliothèques GMP et MPFR (pour le calcul avec une grande précision) et libpng (pour le support du format graphique PNG). Si vous avez ces bibliothèques (y compris les fichiers de développement) et par exemple le compilateur gcc sous un unix quelconque, zebre.c se compile avec la commande gcc -o zebre zebre.c -lpng -lgmp -lmpfr
. Je ne connais pas assez bien Windows pour dire comment y faire cette compilation, mais a priori le code devrait facilement pouvoir être porté à Windows.
J'ai ici un exécutable linux, qui évitera peut-être l'étape de compilation à certains, mais qui ne dispensera pas d'avoir la libgmp/libmpfr et la libpng installées... Si quelqu'un veut bien me fournir des exécutables pour d'autres systèmes (dont Windows) pour que je les mette ici, je suis preneur.
En ligne de commande, commencer par exécuter le programme produit par la compilation:
./zebre
Voilà le résultat:
Usage: ./zebre sx sy type [param [param2]] sx, sy: ouput size type: 1: Yéléhada [2] 2: 355/113 [0] 3: Mad zebra (Israël) [1] 4: Brown [1] 5: sqrt(n) [1] 6: Pi [0] The numbers in brackets indicate the number of parameters
Ceci nous dit comment utiliser le programme. Il faut d'abord fournir deux arguments, qui correspondent aux tailles horizontale et verticale de l'image produite, en pixel. L'argument suivant donne le choix entre les 6 types de nombres proposés. Selon le type de nombre choisi, on peut rajouter un ou deux paramètres.
./zebre 69 29 2
donne la figure ci-dessous.
Théoriquement ça devrait être la figure 1a de
l'article, mais il y a quelques petites différences (dès
les premières décimales). Pourtant, quand avec
./zebre 112 50 2
on affiche ce nombre en 112 colonnes (la
période des décimales de 355/113), ça donne bien
des rayures verticales, comme on pouvait s'y attendre:
Le nombre Pi est calculé par la libgmp par la formule de Borwein,
Borwein et Plouffe. ./zebre 70 29 6
donne:
Là aussi il y a des petites différences par rapport
à la figure 1c de l'article. On va voir Pi plus loin? Allez:
./zebre 300 300 6
Deux vues du nombre de Yéléhada (60,2): ./zebre
60 45 1 60 2
et ./zebre 69 45 1 60 2
(qui devrait
être la figure 1c de l'article):
Et les nombres de Yéléhada (200,2) et (200,5), obtenus avec
./zebre 200 200 1 200 2
et ./zebre 200 200 1 200
5
:
Remarquer le changement lent du premier chiffre des séries irrégulières de chiffres (colonnes de couleur à gauche, après une dernière colonne bleue).
./zebre 190 100 3 95
donne:
C'est la figure 4 de l'article, vue d'une autre manière (en
séparant les parties régulières et
irrégulières, on peut retrouver les deux pyramides
imbriquées de la figure de l'article). On peut aussi afficher
ces nombres pour d'autres valeurs de n, par exemple n=2000 avec
./zebre 200 240 3 2000
, qui donne des motifs
intéressants:
En modifiant le programme, on peut changer la base dans laquelle on
travaille (variable ibase
). Voilà le nombre de
Yéhélada (100,2) en base 2 (la puissance de 10 de sa
définition étant remplacée par une puissance de
2):
Et pour finir le nombre de Yéléhada (100,2) en base 16:
[Page principale]
[Serveur des
élèves de l'ENS]
[Serveur de l'ENS]
[Rapports]
[CV]
[Club astro]
[Photos]
[Programmes]
[Liens]
L'adresse de cette page est
http://www.eleves.ens.fr/home/buchlin/v2/programmes/zebre/index.html
Dernière modification le 22/11/2004
Eric Buchlin:
buchlin at clipper.ens.fr