La fonction qui compte les premiers
La table complète du duel promis par les Coulisses : l'aire de Gauss contre la formule du cours contre le compte exact, de cent à un milliard. Avec un rival oublié, Legendre, dont la formule bat Gauss jusqu'au million et décroche ensuite.
Le paragraphe 7.3 du cours raconte l’essentiel : un adolescent de quinze ans, un recueil de tables de logarithmes, et une ligne écrite au dos d’une page. Les Coulisses n°6 ont montré ce que disait vraiment la lettre de 1849 et pourquoi l’aire vaut mieux que la formule.
La sortie du numéro promettait la table complète du duel. La voici, recalculée d’un bout à l’autre, avec un troisième concurrent que ni le cours ni les Coulisses n’ont mentionné.
La ligne au dos de la page
En 1792 ou 1793, le jeune Gauss reçoit en cadeau un recueil de tables de logarithmes, complété des suppléments de Lambert qui donnent les facteurs des entiers jusqu’à cent deux mille. Il fait ce que font les adolescents obsessionnels : il compte. Par tranches de mille, il dénombre les nombres premiers, et il note au dos d’une page, en un mélange d’allemand et de latin dont la brutalité fait tout le charme :
Primzahlen unter
Traduisons : les nombres premiers au-dessous de , quand tend vers l’infini, sont au nombre de . Autrement dit : autour d’un entier , la densité des nombres premiers vaut à peu près . Il a quinze ans. Il ne publie rien, ni cette année-là, ni les cinquante-sept années suivantes.
Ce n’est qu’en décembre 1849, répondant à une lettre de l’astronome Encke qui l’entretenait de la raréfaction des premiers, que Gauss raconte le souvenir. Et il y ajoute la précision qui change tout, et que les Coulisses ont détaillée : si la densité vaut en chaque point , alors le bon compte n’est pas la densité du bord appliquée à tout l’intervalle, c’est la densité accumulée, l’aire sous la courbe de , que l’on note . Une précision de convention : les valeurs de cette page suivent l’usage moderne, qui compte l’aire depuis l’origine, en valeur principale ; l’aire comptée depuis , celle des Coulisses, en diffère d’une constante minuscule, , invisible à l’échelle du milliard.
Legendre, le rival qui publiait
Pendant que Gauss se tait, un autre cherche la même chose et le dit tout haut.
Adrien-Marie Legendre publie en 1797-98 son Essai sur la théorie des nombres, où il propose une formule pour compter les premiers, et il l’affine dans la deuxième édition, en 1808 :
Ce nombre n’est pas tombé du ciel : Legendre l’a ajusté sur les tables dont il disposait, c’est-à-dire sur des entiers ne dépassant guère le million. C’est une constante de calage, choisie pour coller aux données observées.
Et elle colle remarquablement. Regardez la colonne « Legendre » ci-dessous : à , sa formule se trompe de une unité et demie sur mille deux cent vingt-neuf. Aucun des deux autres concurrents n’approche cette précision. Puis, à mesure que grandit, elle décroche : à , elle est en retard de soixante-dix mille, quand l’aire de Gauss n’en manque que mille sept cents. On sait aujourd’hui pourquoi : la bonne constante, celle qui rend la formule asymptotiquement exacte, vaut et non . Legendre avait ajusté son modèle sur un échantillon trop court, et il avait ajusté trop bien.
C’est un piège que les données n’ont jamais cessé de tendre : une formule qui épouse parfaitement ce que l’on a mesuré n’est pas pour autant celle qui décrit ce que l’on n’a pas encore mesuré.
La table complète
Toutes les valeurs ci-dessous ont été recalculées : est exact (obtenu par crible pour les petites valeurs et par comptage certifié pour ), les trois approximations, dont celle de Legendre, , sont évaluées en arithmétique à trente chiffres significatifs et arrondies.
| Legendre | ||||
|---|---|---|---|---|
Et à un milliard, le duel au sommet :
| Estimateur | Valeur en |
|---|---|
| exact | |
| Legendre | |
Et voici la même chose en écarts, ce qui est plus parlant.
| Erreur de | Erreur de Legendre | Erreur de | |
|---|---|---|---|
| · | · | · | |
| · | · | · | |
| · | · | · | |
| · | · | · |
Trois lectures, et elles racontent trois choses différentes.
La formule du cours perd toujours, mais elle perd de moins en moins. L’erreur relative de tombe de à quand passe de cent à un milliard. Elle tend vers zéro, c’est précisément l’énoncé du théorème des nombres premiers, mais elle y tend avec une lenteur décourageante : il faut aller très loin pour que le pourcentage devienne présentable.
L’aire de Gauss gagne, et elle gagne de plus en plus. Son erreur relative est divisée par plus de six mille entre et . À un milliard, elle se trompe de mille sept cents sur cinquante millions : trois millièmes de pour cent. La valeur exacte est , que les Coulisses donnaient tronquée à l’unité et que le tableau ci-dessus arrondit. Une conjecture d’adolescent, écrite au dos d’une table imprimée, tient à cette précision-là.
Legendre gagne au milieu et perd à la fin. Sa colonne est la meilleure de à , puis se fait dépasser. Le croisement se produit quelque part entre le million et le milliard, et c’est le moment où la constante de calage cesse de compenser et commence à nuire.
Une remarque d’honnêteté sur la première ligne : à , est le plus mauvais des trois. L’aire accumulée surestime largement quand l’intervalle est court, parce que la densité y est encore très grande. Le théorème est asymptotique ; il ne promet rien sur les petits nombres, et il tient parole.
Le script
Le cours promettait un programme comparant et . Le voici, en entier. Le crible d’Ératosthène ne demande rien de plus que des listes et des boucles.
from math import log
def crible(n):
"""est_premier[k] vaut True si et seulement si k est premier, pour k <= n."""
est_premier = [True] * (n + 1)
est_premier[0] = est_premier[1] = False
d = 2
while d * d <= n:
if est_premier[d]:
for m in range(d * d, n + 1, d):
est_premier[m] = False
d += 1
return est_premier
N = 10**7
tamis = crible(N)
compte = 0
seuils = [10**k for k in range(2, 8)]
prochain = 0
for k in range(2, N + 1):
if tamis[k]:
compte += 1
if prochain < len(seuils) and k == seuils[prochain]:
x = float(k)
print(f"10^{prochain+2} pi = {compte:>9} x/ln x = {x/log(x):>12.0f}"
f" rapport = {compte/(x/log(x)):.4f}")
prochain += 1
Le programme met quelques secondes et affiche :
10^2 pi = 25 x/ln x = 22 rapport = 1.1513
10^3 pi = 168 x/ln x = 145 rapport = 1.1605
10^4 pi = 1229 x/ln x = 1086 rapport = 1.1320
10^5 pi = 9592 x/ln x = 8686 rapport = 1.1043
10^6 pi = 78498 x/ln x = 72382 rapport = 1.0845
10^7 pi = 664579 x/ln x = 620421 rapport = 1.0712
C’est la dernière colonne qu’il faut lire, et lentement. Le rapport descend : ; ; ; ; ; . Le théorème des nombres premiers affirme exactement que cette suite tend vers . Vous la voyez descendre sous vos yeux, sur une machine de bureau, en quelques secondes, et vous n’avez utilisé aucun outil au-delà du programme de terminale.
Remarquez au passage la deuxième ligne : le rapport remonte entre et . La convergence n’est pas monotone au début, et c’est un rappel utile : une suite qui converge n’a aucune obligation d’être sage sur ses premiers termes.
1896 : la démonstration, et ce que ln dit vraiment
La conjecture du dos de table a attendu cent quatre ans. Elle est démontrée en 1896, indépendamment et à quelques mois d’intervalle, par le Français Jacques Hadamard et le Belge Charles-Jean de La Vallée Poussin. La route qu’ils empruntent passe par un mémoire de Riemann de 1859, une dizaine de pages qui relient les nombres premiers aux zéros d’une fonction de variable complexe, et dont une hypothèse, toujours ouverte aujourd’hui et mise à prix un million de dollars, dirait précisément à quel point approche bien .
Retenez surtout ce que la densité signifie, parce que c’est la phrase la plus concrète de toute cette histoire. Si les nombres premiers autour de ont une densité de , alors deux premiers consécutifs sont séparés, en moyenne, de . Autour d’un milliard, cela fait
Vingt et un entiers, en moyenne, entre deux nombres premiers voisins d’un milliard. Contre environ autour de cent. Les premiers ne s’arrêtent jamais, Euclide l’a prouvé il y a vingt-trois siècles, mais ils s’espacent, et c’est le logarithme qui donne la cadence.
Une fonction inventée en 1614 pour faire gagner du temps aux astronomes gouverne la répartition des briques élémentaires de la multiplication. Peu d’outils ont connu pareille promotion.
Sources
- Cours F3, paragraphe 7.3 ; Coulisses n°6, pièce 52 La note au dos de la table, dont cette page fournit la table complète promise en sortie de numéro.
- Lettre de Gauss à Johann Franz Encke, 24 décembre 1849, où il rapporte le souvenir de 1792-93 et propose .
- Adrien-Marie Legendre, Essai sur la théorie des nombres, Paris, 1797-98, et deuxième édition, 1808, pour la constante .
- Jacques Hadamard et Charles-Jean de La Vallée Poussin, démonstrations indépendantes du théorème des nombres premiers, 1896 ; Bernhard Riemann, Über die Anzahl der Primzahlen unter einer gegebenen Grösse, 1859.
- Toutes les valeurs de cette page ont été recalculées : par crible et par comptage exact, par quadrature, en arithmétique à trente chiffres significatifs. Le script ci-dessus reproduit les six premières lignes du tableau des rapports.