Test de primalité de Lucas-Lehmer pour les nombres de Mersenne

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Voir homonymie

Extrait de la p. 316 du mémoire Théorie des fonctions numériques simplement périodiques d'Édouard Lucas (1878).

En mathématiques, le test de Lucas-Lehmer est un test de primalité pour les nombres de Mersenne. Le test fut originellement développé par Édouard Lucas en 1878 et amélioré de façon notable par Derrick Henry Lehmer dans les années 1930, grâce à son étude des suites de Lucas[1]Modèle:,[2].

Théorème

On définit par récurrence la suite d'entiers (sModèle:Ind)i≥0 par[3] :

s0=4etisi+1=si22.

Les premiers termes de cette suite sont 4, 14, 194Modèle:Etc. (Modèle:OEIS).

Modèle:Énoncé

Le nombre sp − 2 mod Mp est appelé le « résidu de Lucas-Lehmer » de p[4].

Exemples

Puisque la valeur de sModèle:Ind mod Modèle:Nombre n'est pas 0, la conclusion est que M11 = Modèle:Nombre n'est pas premier.

Preuve

Remarque préliminaire : Si Mq=2q1 est premier, alors q aussi. En effet, si dq, alors 2d12q1 car 2q1=(2d1)((2d)q/d1+(2d)q/d2++1). Nous ne nous intéresserons donc qu'aux nombres de Mersenne Mq=2q1 pour q3 impair (le cas q=2 étant trivial).

La preuve qui va suivre utilise la théorie des corps finis et notamment le petit théorème de Fermat. Elle est inspirée de celle donnée dans l'ouvrage de Saux-Picard-Rannou[5].

À partir de maintenant, que Mq soit premier ou non, on va poser 𝒜q=(/Mq)[T]/(T23). On écrit 3 la classe de T, de sorte que T2=3. Nous avons donc agrandi l'anneau /Mq en un anneau contenant une racine carrée de 3.

On prouve tout d'abord la caractérisation suivante :

Théorème : Si q3 impair, alors Mq est premier si et seulement si (2+3)2q1=1 dans 𝒜q.

Sa preuve est découpée en la condition nécessaire suivie de la condition suffisante. Elle est suivie de la preuve de la correction du test de Lucas-Lehmer, qui en découlera alors presque immédiatement.

Condition nécessaire à la primalité

On suppose que Mq est premier.

Etude de carrés modulo Mq :

D'une part, le nombre 3 n'est pas carré modulo Mq. En effet : comme q est impair, (1)q=1 donc 2q=2[3]. Donc Mq=1[3] est un carré donc, en écrivant p=Mq, on a (p3)=1 (voir le symbole de Legendre). Or, par le théorème de la réciprocité quadratique, (3p)=(p3)(1)312Mq12. Or, Mq12=2q22=2q11 est impair donc (3p)=1.

On note la conséquence qui est que, si p=Mq est premier, alors 3p12=1 d'où 3p1=1.

D'autre part, le nombre 2 est carré modulo Mq. En effet : Mq=0[Mq], donc 2q+1=2[Mq], et sachant que q est impair, on écrit 2=2(q+1)/2 qui est une racine de 2 dans /Mq. Une conséquence est que, quand Mq=p est premier, on a 2Mq=2.

Conclusion :

Si p=Mq est premier, alors 𝒜q est un corps donc on peut poser ρ=1+32 et ρ=132 son 𝔽Mq-conjugué. Alors ρ2=2+3 et ρρ=1. Alors on est armés pour calculer ce qu'on voulait calculer : (2+3)2q1=ρ2q=ρMqρ=ρ12Mq(3Mq+1).Mais 3Mq=3, donc (2+3)2q1=ρ132=ρρ=1. Cela conclut la condition nécessaire.

Condition suffisante à la primalité

Si pMq est un facteur premier de Mq, alors p divise 0 dans 𝒜q donc n'est pas inversible donc il existe un idéal maximal de 𝒜q contenant p noté m (m existe car c'est un anneau fini). On a pm donc p=0 dans k:=𝒜q/m donc k est un corps de caractéristique p (dès qu'un nombre premier est nul dans un corps, ça veut dire que ce corps l'a pour caractéristique). On pose α=2+3, β=23. On a αβ=1. Or, α2q1=11 car p est impair car Mq l'est. Donc l'ordre de α dans k est exactement 2q=Mq+1 (en effet, en mettant au carré, on voit que l'ordre est une puissance de 2, et en utilisant le fait que 11[Mq], ça ne peut pas être une puissance inférieure à 2q).

On pose, dans k[X], Q(X)=(Xα)(Xβ)=X24X+1 qui est donc à coefficients dans 𝔽pk (cette flèche signifie l'existence d'un morphisme d'inclusion). Donc Q est invariant par le morphisme de Frobenius dans k donc ses racines sont permutées par celui-ci, donc αp=α ou β. Dans le cas où αp=α, on trouve que 2qp1 vu son ordre ce qui est contradictoire car p1<2q. Ainsi, αp=β=α1 donc 2qp+1=2q d'où l'égalité donc Mq est premier. Cela conclut la condition suffisante.

Test de Lucas-Lehmer

Soit q3 impair fixé. On pose L0=4/Mq et, pour n0, Ln+1=Ln22.

Nous allons prouver le théorème de Lucas-Lehmer : Mq est premier si et seulement si Lq2=0.

Comme éléments de 𝒜q, on pose α=2+3, β=23, αβ=1. On montre par récurrence que Ln=α2n+α2n. n=0 : L0=4 et α1+β1=4. Si n0, si Ln=α2n+α2n, alors Ln+1=α2n+1+α2n+1+22. Donc à présent : Lq2=0 si et seulement si α2q2=α2q2 si et seulement si α2q1=1 donc si et seulement si Mq est premier.

Notes et références

Modèle:Traduction/Référence Modèle:Références

Articles connexes

Modèle:Palette Modèle:Portail

  1. Modèle:Article.
  2. Modèle:Article.
  3. Cette suite est décalée dans les articles originaux de Lehmer et dans Modèle:Lien web et Modèle:Ouvrage : sModèle:Ind = SModèle:Ind avec SModèle:Ind = 4 et Modèle:Nobr La condition s'écrit alors : SModèle:Ind est divisible par MModèle:Ind.
  4. Modèle:MathWorld.
  5. Philippe Saux Picart, Eric Rannou Cours de calcul formel. Corps finis, systèmes polynomiaux, applications Ellipses, 2002