[Homepage Eric Buchlin]

Attention, ceci est une ancienne version de ma page web, qui n'est plus remise à jour depuis novembre 2004.

Nombres zébrés

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.

Compilation

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.

Exécution

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.

Exemples

355/113

./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:

Pi

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

Nombres de Yéléhada

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).

Mad Zebra de Robert Israël

./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:

Pour aller plus loin

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