13.07.2015 Views

Les nombres premiers de Mersenne

Les nombres premiers de Mersenne

Les nombres premiers de Mersenne

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Les</strong> <strong>nombres</strong> <strong>premiers</strong> <strong>de</strong> <strong>Mersenne</strong>A<strong>Les</strong> <strong>nombres</strong> <strong>de</strong> <strong>Mersenne</strong>DénitionOn appelle <strong>nombres</strong> <strong>de</strong> <strong>Mersenne</strong> les <strong>nombres</strong> entiers du type M n = 2 n 1 (n 2 N ) .RemarqueLe Père Marin <strong>Mersenne</strong> (1588-1648) fut l'un <strong>de</strong>s <strong>premiers</strong> à s'intéresser à la primalité <strong>de</strong> ces <strong>nombres</strong> .Proposition 1Pour que M n soit premier, il est nécessaire (mais pas sufsant) que n soit premier .DémonstrationSi n = pq ; alors M n = 2 pq 1 = (2 p 1) q P 12 pk ; et donc M n est divisible par M p .k=0La primalité <strong>de</strong> M n nécessite donc celle <strong>de</strong> n . Malheureusement cette condition n'est pas sufsante :ainsi 11 est premier, mais M 11 = 2047 = 23 89 ne l'est pas .RemarquesOn remarquera qu'en numération binaire, les <strong>nombres</strong> M n s'écrivent uniquement avec <strong>de</strong>s chiffres 1,ce qui les rend particulièrement adaptés au traitement informatique . C'est pourquoi les plus grands<strong>nombres</strong> <strong>premiers</strong> actuellement connus sont <strong>de</strong>s <strong>nombres</strong> <strong>de</strong> <strong>Mersenne</strong> . Le record actuel est détenupar M 32 582 657 . C'est le 44 ième nombre premier <strong>de</strong> <strong>Mersenne</strong> . Il a été découvert le 4 septembre 2006,et son écriture décimale est constituée <strong>de</strong> 9 808 358 chiffres . Pour suivre l'actualité <strong>de</strong>s recherches,on pourra consulter le site suivant : http://www.mersenne.org/prime.htmSignalons enn que l'on ignore toujours si l'ensemble <strong>de</strong>s <strong>nombres</strong> <strong>premiers</strong> <strong>de</strong> <strong>Mersenne</strong> est inni .On se propose <strong>de</strong> présenter ici la métho<strong>de</strong> couramment utilisée pour tester si M n est premier .BLe critère <strong>de</strong> Lucas-LehmerDénitionOn appelle <strong>nombres</strong> <strong>de</strong> Lucas-Lehmer les <strong>nombres</strong> entiers dénis par :L 1 = 4 et (8n 2) L n = L 2 n 1 2 .On vérie aisément par récurrence que : (8n 1) L n = u 2n 1 + v 2n 1où u = 2 + p 3 et v = 2p3 sont les <strong>de</strong>ux <strong>nombres</strong> réels vériant u + v = 4 et uv = 1 .Ghislain.Dupont@univ-lemans.fr 1 / 5 Département <strong>de</strong> Mathématiques


LemmeSi p = 2m + 1 est un nombre premier impair, alors( (2 m +1 [p] si p 1 [8]3 m +1 [p] si p 1 [12]et2 m 1 [p] sinon3 m 1 [p] sinonRemarqueCe résultat technique sera démontré dans l'annexe consacrée aux résidus quadratiques (Proposition 6) .Proposition 2(Critère <strong>de</strong> Lucas-Lehmer)Pour tout entier n 3; M n est un nombre premier si et seulement si M n divise L n 1 .DémonstrationSoit un entier n 3 et soit p le plus petit diviseur premier <strong>de</strong> M n . M n est impair donc p est impairet M n = p q avec q = 1 (si M n est premier) ou q p (si M n n'est pas premier) .Notons F p le corps Z=p Z et A p l'anneau F pp3.La surjection canonique ' : Z !F p a ba est un morphisme d'anneau .De même : Z p 3 !A p w = a + b p 3 bw = ba + b b p 3 est un morphisme d'anneau .Supposons que M n divise L n 1 . Il existe alors un entier k tel que L n 1 = kM n .On a alors u 2n 2 + v 2n 2 = L n 1 = k p q; d'où u 2n 1 + 1 = k p q u 2n 2 .On en déduit que (dans A p ) bu 2n 1 = b1; et en élevant au carré bu 2n = b1 .Notons r l'ordre du groupe multiplicatif engendré par bu dans A p .r divise 2 n car bu 2n = b1 et r ne divise pas 2 n 1 car bu 2n 1 6= b1 . Donc r = 2 n :Finalement p q = 2 n 1 < r card A p = p 2 ; d'où q < p; et donc M n est premier .Supposons inversement que M n est premier . Alors M n = 2 n 1 = p = 2m + 1 .Or n 3 , donc p 1 [8] et donc d'après le lemme 2 m 1 [p] .De même p 1 [4] donc 3p 3 [12] . D'autre part, d'après la proposition 1, n est premier .Or n 3, donc n est impair, donc p ( 1) n 1 1 [3] , et donc 4p 4 [12] .d'où par soustraction p 7 [12] , et donc d'après le lemme 3 m 1 [p] .On déduit alors <strong>de</strong> la formule du binôme <strong>de</strong> Newton que, dans A p :ba + b p p3= ba p + b pp 3 p = ba p + b p b3 mp 3 = ba p b p p3;d'où b 1 + p p+1 3 = b 1 + p p 3 b 1 3 = b2 . De même b 1Remarquons enn que 1 + p 3 2= 2u et que 1p3 2= 2v .On en déduit que 2 2n 1 L n = (2u) 2n 1 + (2v) 2n 1 = 1 + p 3 2 n + 1p3 p+1= b2 .p3 2 n.Or 2 n = p + 1 = 2m + 2; donc en passant aux classes résiduelles, on a dans A p :b2 L c n = b2 m+1 Ln c = b2 2n 1 Ln c = b 1 + p p+1 p p+13+ b 1 3 = b2 b2 = b4 ,et donc [L n 12b2 = c L n = b2; d'où [L n 1 = b0; et donc M n divise L n 1 .Ghislain.Dupont@univ-lemans.fr 2 / 5 Département <strong>de</strong> Mathématiques


CApplications numériques sous MapleRemarqueLa fonction isprime(m) pré-programmée dans Maple permet <strong>de</strong> tester si l'entier m est premier .Il existe également une fonction spécialisée mersenne(n) dans le package numtheory .Pour d'évi<strong>de</strong>ntes raisons pédagogiques, on a préféré ici reprogrammer une fonction isprimeM(n)qui teste la primalité <strong>de</strong> M n à l'ai<strong>de</strong> du critère <strong>de</strong> Lucas-Lehmer .La fonction isprimeM(n)Notons que la suite (L n ) <strong>de</strong> Lucas-Lehmer croît beaucoup plus vite que la suite (M n ) <strong>de</strong> <strong>Mersenne</strong> .Ainsi, M 8 = 255 et L 7 = 4023861667741036022825635656102100994 .Heureusement, pour tester si M n est premier, il n'est pas nécessaire <strong>de</strong> calculer explicitement L n 1 ;il suft simplement <strong>de</strong> vérier si sa classe résiduelle modulo M n est nulle . D'où la procédure suivante :2> isprimeM:=proc(n) local k,L,M;L:=4; M:=2^n-1;6for k from 2 to n-1 do L:=L^2-2 mod M od;4evalb(L=0);end:Testons la primalité <strong>de</strong> M 2281 (son écriture décimale est constituée <strong>de</strong> 687 chiffres) :2> t:=time(): isprimeM(2281); 'Temps_<strong>de</strong>_calcul'=time()-t;64trueTemps_<strong>de</strong>_calcul = 2.046Comparons le résultat avec celui fourni par la fonction isprime standard :2> t:=time(): isprime(2^2281-1); 'Temps_<strong>de</strong>_calcul'=time()-t;64trueTemps_<strong>de</strong>_calcul = 4.547Une simple boucle montre alors que parmi les 1000 plus petits <strong>nombres</strong> <strong>de</strong> <strong>Mersenne</strong>, 14 sont <strong>premiers</strong> :2> t:=time(): LMP:='M'[2]:for n from 3 by 2 to 1000 doif isprimeM(n) then LMP:=LMP,'M'[n] fi: od:[LMP]; 'Temps_<strong>de</strong>_calcul'=time()-t;64[M 2 ; M 3 ; M 5 ; M 7 ; M 13 ; M 17 ; M 19 ; M 31 ; M 61 ; M 89 ; M 107 ; M 127 ; M 521 ; M 607 ]Temps_<strong>de</strong>_calcul = 27.766Rappelons que le critère <strong>de</strong> Lucas-Lehmer ne s'applique qu'à partir <strong>de</strong> n = 3 .On a testé ici toutes les valeurs impaires <strong>de</strong> n . On pourrait sensiblement accélérer le calcul en ne testantque les valeurs premières <strong>de</strong> n mais on a préféré ne pas recourir à la fonction isprime standard .Ghislain.Dupont@univ-lemans.fr 3 / 5 Département <strong>de</strong> Mathématiques


DAnnexe : <strong>Les</strong> résidus quadratiquesRappelsSoit p = 2m + 1 un nombre premier impair . On rappelle que F p = Z=p Z est un corps commutatif,n oet que le groupe multiplicatif G p = F p n b 0 est cyclique d'ordre 2m .Proposition 3nL'ensemble C p = bc 2 G p /9 b 2 G p bc = b o2 est un sous-groupe <strong>de</strong> G p d'ordre m .<strong>Les</strong> éléments <strong>de</strong> C p sont appelés les résidus quadratiques non nuls modulo p .JusticationLa stabilité <strong>de</strong> C p est immédiate . D'autre part, dans G p , ba 2 = b 2 () ba = b ou ba = b ,n oet donc C p = bb 2 / 1 b m a pour cardinal m .n o n oAinsi, par exemple, C 13 = b 1 2 , b2 2 , b3 2 , b4 2 , b5 2 , b6 2 = b 1 , b3 , b4 , b9 , b10 , b12 .Proposition n 4C p = ba 2 G po/ ba m = b1noet G p n C p = ba 2 G p / ba m = b1 .JusticationL'ordre d'un élément quelconque ba <strong>de</strong> G p divise l'ordre 2m <strong>de</strong> G p , donc ba 2m = b1 , et donc ba m = b1 :Soit bg un élément générateur <strong>de</strong> G p . Il existe alors un entier k tel que ba = bg k .Si ba m = b1 ; alors bg k m = 1 , donc k est pair (car g est d'ordre 2m) et il existe donc un entier h tel quek = 2h , d'où ba = bg 2h = bg h 22 Cp .Inversement, si ba 2 C p , il existe b b 2 G p tel que ba = b b 2 ; et donc ba m = b b 2m = b1 :Proposition 5Soit un entier a vériant 1 a 2m . Pour tout entier k vériant 1 k m , il existe un uniquecouple (q k ; r k ) d'entiers vériant : ka = pq k + r k et m r k m .Si on pose l p (a) = card fk 2 N / 1 k m et r k < 0g , alors C p = f ba 2 G p / l p (a) est pair g .JusticationLe nombre premier p = 2m + 1 ne divisant ni a ni k , il ne divise pas ka , et donc r k 6= 0 .D'autre part, si 1 h < k m; alors (k h) a = p (q k q h ) + (r k r h ) .Or p ne divise ni a ni (k h) , donc p ne divise pas (r k r h ) ; et donc r k 6= r h .<strong>de</strong> même p ne divise pas (k + h) a , donc p ne divise pas (r k + r h ) , et donc r k 6= r h .Finalement jr k j 6= jr h j , et donc fjr k j / 1 k mg = fk / 1 k mg .Pour tout nombre entier k vériant 1 k m , ka r k [p] , donc m! a m m QOr p ne divise pas m! , donc a m ( 1) lp(a) [p] .En conséquence, ba 2 C p () ba m = b1 () a m 1 [p] () l p (a) est pair .k=1r k (1) lp(a) m! [p].Ghislain.Dupont@univ-lemans.fr 4 / 5 Département <strong>de</strong> Mathématiques


Proposition 6Si p = 2m + 1 est un nombre premier impair, alors( (2 m +1 [p] si p 1 [8]3 m +1 [p] si p 1 [12]et2 m 1 [p] sinon3 m 1 [p] sinonJusticationOn se limite désormais aux <strong>de</strong>ux cas particuliers a = 2 et a = 3 .Soit k un entier vériant 1 k m et r k < 0 . Alors ka < pq k et donc q k > 0 .D'autre part m r k , donc pq k = ka r k ka + m 3k + m 4m < 2p , et donc q k < 2 .q k = 1 est donc la seule valeur possible, et dans ce cas :m r k 1 , m ka p 1 , p m ka p 1 , m + 1 ka 2m .Inversement, si k est un entier vériant m + 1 ka 2m , alors 1 k m et m ka p 1d'où q k = 1 et r k < 0 .Donc dans les <strong>de</strong>ux cas particuliers a = 2 et a = 3; on a l p (a) = card fk 2 N / m + 1 ka 2mg .D'où, en notant [x] la partie entière du nombre réel x , et en discutant selon la valeur <strong>de</strong> m : m + 1 p + 1l p (2) = card fk 2 N / m + 1 2k 2mg = = et2 4 m + 1 p + 1l p (3) = card fk 2 N / m + 1 3k 2mg = = .3 6Enn, en se souvenant que p est premier et impair, on vérie aisément que : p + 12 m 1 [p] () b2 2 C p () l p (2) est pair () est pair () p 1 [8] et4 p + 13 m 1 [p] () b3 2 C p () l p (3) est pair () est pair () p 1 [12] .6Ghislain.Dupont@univ-lemans.fr 5 / 5 Département <strong>de</strong> Mathématiques

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!