STH2, Maple 2011 Nombres univers et normaux On s’intéresse ici à l’écriture décimale des nombres réels et aux propriétés statistiques de cette écriture. Par exemple, quand on observe le nombre π = 3, 141592653589793238462643383279502884197169399375105820974944592307 · · · on a l’impression que la suite de ses décimales ne suit aucune règle et que c’est une suite aléatoire de chiffres. Au contraire, dans le nombre 1 = 0, 142857142857142857142857142857 · · · 7 on constate que la suite des décimales est périodique. Nous allons formaliser ce genre de remarques. Nous dirons qu’un nombre est univers si toute séquence finie de chiffres apparaît dans son écriture décimale. Par exemple, on voit que tous les chiffres de 0 à 9 (i.e. les séquences de taille 1) apparaîssent dans l’écriture de π, ce qui n’est pas le cas dans celle de 17 . De même, la séquence “265” apparaît dans π (au début). Nous dirons qu’un nombre est normal si pour toute séquence de chiffres de taille k, sa fréquence d’apparition dans le nombre est égale à 101k . Plus précisemment, soit x un nombre réel et soit s une séquence de k chiffres. Notons N (x, s, n) le nombre d’apparitions de la séquence s dans la suite des n premiers termes de l’écriture de x. On dit que le nombre x est normal si pour toute séquence finie s, lim n→+∞ N (x, s, n) 1 = k. n 10 Si on prend les séquences à un chiffre, cette propriété signifie que tous les chiffres de 0 à 9 apparaîssent dans x et qu’ils apparaîssent avec la même régularité. Nous n’étudierons ces propriétés qu’expêrimentalement. En particulier, nous n’aurons pas accès à l’écriture complète des nombres et devrons nous contenter de regarder les n premières décimales pour n assez grand. L’expression f loor(10k x) − 10f loor(10k−1 x) permettra d’extraire la k-ième décimale d’un nombre x. 1 1. Séquences de taille 1. (a) Écrire un programme Apparition(x,a,n) qui teste si le chiffre a apparaît dans l’écriture de x. (b) Écrire un programme Univers1(x,n) qui teste l’universalité de x pour les séquences de taille 1. (c) Écrire un programme Frequence(x,a,n) qui calcule le nombre d’apparitions de a parmi les n premiers termes de x. (d) Écrire un programme Normal1(x,n) qui teste la normalité de x pour les séquences de taille 1. Cette propriété ne peut pas être parfaitement testée. Il faut fixer des bornes pour décider si un nombre a l’air normal. (e) Tester vos programmes sur π, e, sur des rationnels et sur d’autres nombres de votre choix. 2. Généralisation : écrire des programmes similaires testant les propriétés d’universalité et de normalité pour des séquences de tailles 2. 3. Un nombre algébrique est un nombre qui est racine d’un polynôme à coefficients entiers. Une conjecture prétend que tout nombre algébrique irrationnel est normal. Tester cette conjecture sur quelques nombres. 4. Constructions de nombres. (a) Construire un nombre irrationnel qui ne soit pas univers. (b) Construire un nombre univers qui ne soit pas normal. (c) Construire un nombre aléatoire (i.e. dont les décimales sont tirées au hasard) et tester son universalité et sa normalité. 5. Dynamique topologique : on considère l’application de [0, 1] dans [0, 1] définie par T : x 7→ 10x mod 1. Cette application consiste simplement à décaler l’écriture d’un nombre vers la gauche et à ne garder que la partie fractionnaire. (a) Choisir un nombre réel x. On note T k (x) = T ◦ · · · ◦ T (x). Représenter l’ensemble Ox = {T k (x), k = 0 . . . n} pour n assez grand. recommencer pour différentes valeurs de x. (b) Quel lien observe-t-on entre les propriétés d’universalité et de normalité de x et les propriétés de densité et d’équirépartition de l’ensemble Ox ? Fonctions utiles : evalf[n](x), rand, pointplot 2