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

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Lucas, Lehmer, Test de Lucas et Test de primalité de Lucas-Lehmer.

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],[2].

Théorème

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

s 0 = 4 e t i N s i + 1 = s i 2 2. {\displaystyle s_{0}=4\quad {\rm {et}}\quad \forall i\in \mathbb {N} \quad s_{i+1}=s_{i}^{2}-2.}

Les premiers termes de cette suite sont 4, 14, 194, etc. (suite A003010 de l'OEIS).

Soit p un nombre premier différent de 2. Le nombre de Mersenne Mp = 2p – 1 est premier si et seulement si sp – 2 est divisible par Mp[4].

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

Exemples

  • Le nombre de Mersenne M3 = 7 est premier. Le test de Lucas-Lehmer le vérifie de la manière suivante. À partir de s0 = 4, on calcule s3 − 2 = s1 = 42 − 2 = 14 ≡ 0 mod 7. Puisque la valeur de s1 mod 7 est 0, la conclusion est que M3 est premier.
  • En revanche, M11 = 2 047 = 23 × 89 n'est pas premier. Encore une fois, s0 = 4 mais on calcule maintenant, modulo 2 047, les termes successifs de la suite s jusqu'à l'indice 11 − 2 = 9 :
    • s1 = 42 − 2 = 14
    • s2 = 142 − 2 = 194
    • s3 = 1942 − 2 ≡ 788 mod 2 047
    • s4 ≡ 7882 − 2 ≡ 701 mod 2 047
    • s5 ≡ 7012 − 2 ≡ 119 mod 2 047
    • s6 ≡ 1192 − 2 ≡ 1 877 mod 2 047
    • s7 ≡ 1 8772 − 2 ≡ 240 mod 2 047
    • s8 ≡ 2402 − 2 ≡ 282 mod 2 047
    • s9 ≡ 2822 − 2 ≡ 1 736 mod 2 047

Puisque la valeur de s9 mod 2 047 n'est pas 0, la conclusion est que M11 = 2 047 n'est pas premier.

Preuve

Remarque préliminaire : Si M q = 2 q 1 {\displaystyle M_{q}=2^{q}-1} est premier, alors q {\displaystyle q} aussi. En effet, si d q {\displaystyle d\mid q} , alors 2 d 1 2 q 1 {\displaystyle 2^{d}-1\mid 2^{q}-1} car 2 q 1 = ( 2 d 1 ) ( ( 2 d ) q / d 1 + ( 2 d ) q / d 2 + + 1 ) {\displaystyle 2^{q}-1=(2^{d}-1)((2^{d})^{q/d-1}+(2^{d})^{q/d-2}+\dots +1)} . Nous ne nous intéresserons donc qu'aux nombres de Mersenne M q = 2 q 1 {\displaystyle M_{q}=2^{q}-1} pour q 3 {\displaystyle q\geq 3} impair (le cas q = 2 {\displaystyle 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[6].

À partir de maintenant, que M q {\displaystyle M_{q}} soit premier ou non, on va poser A q = ( Z / M q Z ) [ T ] / ( T 2 3 ) {\displaystyle {\mathcal {A}}_{q}=(\mathbb {Z} /M_{q}\mathbb {Z} )[T]/(T^{2}-3)} . On écrit 3 {\displaystyle {\sqrt {3}}} la classe de T {\displaystyle T} , de sorte que T 2 = 3 {\displaystyle T^{2}=3} . Nous avons donc agrandi l'anneau Z / M q Z {\displaystyle \mathbb {Z} /M_{q}\mathbb {Z} } en un anneau contenant une racine carrée de 3.

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

Théorème : Si q 3 {\displaystyle q\geq 3} impair, alors M q {\displaystyle M_{q}} est premier si et seulement si ( 2 + 3 ) 2 q 1 = 1 {\displaystyle (2+{\sqrt {3}})^{2^{q-1}}=-1} dans A q {\displaystyle {\mathcal {A}}_{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 M q {\displaystyle M_{q}} est premier.

Etude de carrés modulo M q {\displaystyle M_{q}}  :

D'une part, le nombre 3 n'est pas carré modulo M q {\displaystyle M_{q}} . En effet : comme q {\displaystyle q} est impair, ( 1 ) q = 1 {\displaystyle (-1)^{q}=-1} donc 2 q = 2 [ 3 ] {\displaystyle 2^{q}=2[3]} . Donc M q = 1 [ 3 ] {\displaystyle M_{q}=1[3]} est un carré donc, en écrivant p = M q {\displaystyle p=M_{q}} , on a ( p 3 ) = 1 {\displaystyle ({\frac {p}{3}})=1} (voir le symbole de Legendre). Or, par le théorème de la réciprocité quadratique, ( 3 p ) = ( p 3 ) ( 1 ) 3 1 2 M q 1 2 {\displaystyle ({\frac {3}{p}})=({\frac {p}{3}})(-1)^{{\frac {3-1}{2}}{\frac {M_{q}-1}{2}}}} . Or, M q 1 2 = 2 q 2 2 = 2 q 1 1 {\displaystyle {\frac {M_{q}-1}{2}}={\frac {2^{q}-2}{2}}=2^{q-1}-1} est impair donc ( 3 p ) = 1 {\displaystyle ({\frac {3}{p}})=-1} .

On note la conséquence qui est que, si p = M q {\displaystyle p=M_{q}} est premier, alors 3 p 1 2 = 1 {\displaystyle {3}^{\frac {p-1}{2}}=-1} d'où 3 p 1 = 1 {\displaystyle {\sqrt {3}}^{p-1}=-1} .

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

Conclusion :

Si p = M q {\displaystyle p=M_{q}} est premier, alors A q {\displaystyle {\mathcal {A}}_{q}} est un corps donc on peut poser ρ = 1 + 3 2 {\displaystyle \rho ={\frac {1+{\sqrt {3}}}{\sqrt {2}}}} et ρ = 1 3 2 {\displaystyle \rho '={\frac {1-{\sqrt {3}}}{\sqrt {2}}}} son F M q {\displaystyle \mathbb {F} _{M_{q}}} -conjugué. Alors ρ 2 = 2 + 3 {\displaystyle \rho ^{2}=2+{\sqrt {3}}} et ρ ρ = 1 {\displaystyle \rho \rho '=-1} . Alors on est armés pour calculer ce qu'on voulait calculer : ( 2 + 3 ) 2 q 1 = ρ 2 q = ρ M q ρ = ρ 1 2 M q ( 3 M q + 1 ) . {\displaystyle (2+{\sqrt {3}})^{2^{q-1}}=\rho ^{2^{q}}=\rho ^{M_{q}}\rho =\rho {\frac {1}{{\sqrt {2}}^{M_{q}}}}({\sqrt {3}}^{M_{q}}+1).} Mais 3 M q = 3 {\displaystyle {\sqrt {3}}^{M_{q}}=-{\sqrt {3}}} , donc ( 2 + 3 ) 2 q 1 = ρ 1 3 2 = ρ ρ = 1 {\displaystyle (2+{\sqrt {3}})^{2^{q-1}}=\rho {\frac {1-{\sqrt {3}}}{\sqrt {2}}}=\rho \rho '=-1} . Cela conclut la condition nécessaire.

Condition suffisante à la primalité

Si p M q {\displaystyle p\mid M_{q}} est un facteur premier de M q {\displaystyle M_{q}} , alors p {\displaystyle p} divise 0 {\displaystyle 0} dans A q {\displaystyle {\mathcal {A}}_{q}} donc n'est pas inversible donc il existe un idéal maximal de A q {\displaystyle {\mathcal {A}}_{q}} contenant p {\displaystyle p} noté m {\displaystyle m} ( m {\displaystyle m} existe car c'est un anneau fini). On a p m {\displaystyle p\in m} donc p = 0 {\displaystyle p=0} dans k := A q / m {\displaystyle k:={\mathcal {A}}_{q}/m} donc k {\displaystyle k} est un corps de caractéristique p {\displaystyle 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 {\displaystyle \alpha =2+{\sqrt {3}}} , β = 2 3 {\displaystyle \beta =2-{\sqrt {3}}} . On a α β = 1 {\displaystyle \alpha \beta =1} . Or, α 2 q 1 = 1 1 {\displaystyle \alpha ^{2^{q-1}}=-1\neq 1} car p {\displaystyle p} est impair car M q {\displaystyle M_{q}} l'est. Donc l'ordre de α {\displaystyle \alpha } dans k {\displaystyle k^{\ast }} est exactement 2 q = M q + 1 {\displaystyle 2^{q}=M_{q}+1} (en effet, en mettant au carré, on voit que l'ordre est une puissance de 2, et en utilisant le fait que 1 1 [ M q ] {\displaystyle -1\neq 1[M_{q}]} , ça ne peut pas être une puissance inférieure à 2 q {\displaystyle 2^{q}} ).

On pose, dans k [ X ] {\displaystyle k[X]} , Q ( X ) = ( X α ) ( X β ) = X 2 4 X + 1 {\displaystyle Q(X)=(X-\alpha )(X-\beta )=X^{2}-4X+1} qui est donc à coefficients dans F p k {\displaystyle \mathbb {F} _{p}\hookrightarrow k} (cette flèche signifie l'existence d'un morphisme d'inclusion). Donc Q {\displaystyle Q} est invariant par le morphisme de Frobenius dans k {\displaystyle k} donc ses racines sont permutées par celui-ci, donc α p = α {\displaystyle \alpha ^{p}=\alpha } ou β {\displaystyle \beta } . Dans le cas où α p = α {\displaystyle \alpha ^{p}=\alpha } , on trouve que 2 q p 1 {\displaystyle 2^{q}\mid p-1} vu son ordre ce qui est contradictoire car p 1 < 2 q {\displaystyle p-1<2^{q}} . Ainsi, α p = β = α 1 {\displaystyle \alpha ^{p}=\beta =\alpha ^{-1}} donc 2 q p + 1 = 2 q {\displaystyle 2^{q}\mid p+1=2^{q}} d'où l'égalité donc M q {\displaystyle M_{q}} est premier. Cela conclut la condition suffisante.

Test de Lucas-Lehmer

Soit q 3 {\displaystyle q\geq 3} impair fixé. On pose L 0 = 4 Z / M q Z {\displaystyle L_{0}=4\in \mathbb {Z} /M_{q}\mathbb {Z} } et, pour n 0 {\displaystyle n\geq 0} , L n + 1 = L n 2 2 {\displaystyle L_{n+1}=L_{n}^{2}-2} .

Nous allons prouver le théorème de Lucas-Lehmer : M q {\displaystyle M_{q}} est premier si et seulement si L q 2 = 0 {\displaystyle L_{q-2}=0} .

Comme éléments de A q {\displaystyle {\mathcal {A}}_{q}} , on pose α = 2 + 3 {\displaystyle \alpha =2+{\sqrt {3}}} , β = 2 3 {\displaystyle \beta =2-{\sqrt {3}}} , α β = 1 {\displaystyle \alpha \beta =1} . On montre par récurrence que L n = α 2 n + α 2 n {\displaystyle L_{n}=\alpha ^{2^{n}}+\alpha ^{-2^{n}}} . n = 0 {\displaystyle n=0}  : L 0 = 4 {\displaystyle L_{0}=4} et α 1 + β 1 = 4 {\displaystyle \alpha ^{1}+\beta ^{1}=4} . Si n 0 {\displaystyle n\geq 0} , si L n = α 2 n + α 2 n {\displaystyle L_{n}=\alpha ^{2^{n}}+\alpha ^{-2^{n}}} , alors L n + 1 = α 2 n + 1 + α 2 n + 1 + 2 2 {\displaystyle L_{n+1}=\alpha ^{2^{n+1}}+\alpha ^{-2^{n+1}}+2-2} . Donc à présent : L q 2 = 0 {\displaystyle L_{q-2}=0} si et seulement si α 2 q 2 = α 2 q 2 {\displaystyle \alpha ^{2^{q-2}}=-\alpha ^{-2^{q-2}}} si et seulement si α 2 q 1 = 1 {\displaystyle \alpha ^{2^{q-1}}=-1} donc si et seulement si M q {\displaystyle M_{q}} est premier.

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Lucas–Lehmer primality test » (voir la liste des auteurs).
  1. (en) D. H. Lehmer, « An extended theory of Lucas' functions », Ann. Math., 2e série, vol. 31,‎ , p. 419-448 (JSTOR 1968235).
  2. (en) D. H. Lehmer, « On Lucas' test for the primality of Mersenne numbers », J. London Math. Soc., vol. 10,‎ , p. 162-165 (lire en ligne).
  3. Cette suite est décalée dans les articles originaux de Lehmer et dans (en) Chris Caldwell, « A proof of the Lucas-Lehmer Test », sur Prime Pages et (en) Benjamin Fine et Gerhard Rosenberger, Number Theory : An Introduction via the Distribution of Primes, Springer, (lire en ligne), p. 226 : si = Si+1 avec S1 = 4 et Sk = Sk–12 – 2. La condition s'écrit alors : Sp – 1 est divisible par Mp.
  4. (en) Paulo Ribenboim, The Little Book of Bigger Primes, Springer, , 2e éd., 356 p. (ISBN 978-0-387-20169-6, lire en ligne), p. 77-78.
  5. (en) Eric W. Weisstein, « Lucas-Lehmer Test », sur MathWorld.
  6. Philippe Saux Picart, Eric Rannou Cours de calcul formel. Corps finis, systèmes polynomiaux, applications Ellipses, 2002

Articles connexes

v · m
Donnés par une formule
combinatoire
polynomiale
exponentielle
Mathématiques
Appartenant à une suite
Ayant une propriété remarquable
Ayant une propriété dépendant de la base
Propriétés mettant en jeu plusieurs nombres
singleton
n-uplet
suite
Classement par taille
Généralisations (entier quadratique)
Nombre composé
Nombre connexe
Test de primalité
Conjectures et théorèmes de théorie des nombres
Constantes liées aux nombres premiers
  • icône décorative Arithmétique et théorie des nombres