Luc-Lehmer test

Lucas - Lehmer-testen ( eng.  Lucas-Lehmer-testen , forkortelse LLT ) er en polynomisk , deterministisk og ubetinget (det vil sige ikke afhængig af ubeviste hypoteser) primalitetstest for Mersenne-tal . Formuleret af Édouard Lucas i 1878 og bevist af Lemaire i 1930 .

Givet et primtal tillader testen polynomisk tid af bitlængden af ​​Mersenne-tallet for at bestemme, om det er primtal eller sammensat . Beviset for testens gyldighed bygger i høj grad på Lucas-funktionerne , som gjorde det muligt at generalisere Lucas-Lehmer-testen til nogle tal, hvis form er forskellig fra Mersenne-tallene .

Takket være denne test har de største kendte primtal næsten altid været Mersenne-primtal, selv før computernes fremkomst ; det er ham, der ligger til grund for GIMPS distributed computing- projektet , som er engageret i jagten på nye Mersenne-primtal. Det er også interessant for dets forbindelse med lige perfekte tal .

Ordlyd

Testen er baseret på følgende kriterier for enkelheden af ​​Mersenne-tallene [1] :

Lad være et simpelt ulige tal. Et Mersenne-tal er primtal, hvis og kun hvis det deler sekvensens th led

[2] ,

givet rekursivt :


Lemaire , 1930

For at kontrollere enkelheden beregnes talrækken modulo antallet (det vil sige, at ikke tallene i sig selv beregnes , hvis længde vokser eksponentielt , men resten efter at dividere med , hvis længde er begrænset af bits ). Det sidste tal i denne sekvens kaldes Lucas-Lehmer-resten [3] . Et Mersenne-tal er således primtal, hvis og kun hvis tallet  er et ulige primtal, og Lucas-Lehmer-resten er nul. Selve algoritmen kan skrives som pseudokode [4] :

LLT (p) ►Indtast: ulige primtal s S=4 k = 1 M = 2 p − 1 Indtil k != p - 1 S = ((S × S) − 2) mod M k += 1 End of loop Hvis S = 0 udfør Return SIMPLE ellers Return COMPOUND Slutbetingelse

De værdier , som primalitetskriteriet er gyldigt for, danner en sekvens: [5] [6] [7] .

Det er ikke nødvendigt at kontrollere alle ulige primtal i direkte opregning, da nogle Mersenne-tal i en speciel form altid er sammensatte, hvilket f.eks. følger af følgende sætning bevist af Euler [ 8] :

Hvis tal og er primtal, så .

Bevis

En tilgang til beviset er baseret på brugen af ​​Lukas funktioner :

hvor er rødderne til andengradsligningen

med en diskriminant , og og er coprime .

Især nogle egenskaber ved disse funktioner bruges i beviset, nemlig [9] :

en. 2. 3. 4. Hvis , , og , derefter 5. Hvis er prime, sådan at coprime med , så dividerer med , hvor , og er Legendre-symbolet .

Bevisskema [9] :

Nødvendighed

Fra ejendom 4. modulo for , , følger:

,

og af ejendom 2.

,

derfor

og

, så hvis er prime, så deler den sig også fra de to sidste egenskaber

Yderligere fra egenskab 1. og 2.

,

men af ​​ejendom 3.

,

det vil sige deler , og dermed .

Tilstrækkelighed

Hvis den deler sig , så følger det af nødvendighedsbeviset , at den deler og . coprime med ved egenskab 1., og ved egenskab 2. - dividerer . Men så kan hver primtalsdivisor af tallet repræsenteres som , altså primtal.

Historie

Kriteriet om enkelhed blev foreslået af den franske matematiker Lucas i 1878 . Især Lucas viste, at algoritmen tillader primalitetstestning for primtal [9] . I 1930 beviste den amerikanske matematiker Lehmer fuldt ud gyldigheden af ​​kriteriet for alle ulige primtal i sin afhandling for graden af ​​Doctor of Philosophy [1] .

I 1952 udførte Robinson med støtte fra Lemaire beregninger på SWAC -computeren ved hjælp af Luc-Lehmer-testen, hvilket resulterede i opdagelsen af ​​primtal og . Senere samme år blev , og [10] opdaget .

Den lette implementering af testen og væksten i computerkraften tillod praktisk talt alle at søge efter Mersenne-primtal. Så i 1978 beviste to amerikanske high school-elever Laura Nickel og Kurt Knoll (Lemaire lærte dem talteori) tallets enkelhed i 3 års arbejde ved hjælp af CDC Cyber ​​​​176 supercomputeren ved University of California [11] .

Den største kendte Mersenne prime for 2018, opnået ved hjælp af Lucas-Lehmer testen, er .

Eksempler

Ulighedskravet i kriteriets tilstand er væsentligt, da  det er enkelt , men .

Tallet  er primtal [13] . Virkelig,

Anvendelse af testen på et tal viser, at det er sammensat [13] :

Faktisk ,.

Beregningsmæssig kompleksitet

Der er to hovedoperationer i testen under overvejelse: kvadrering og modulopdeling . En effektiv algoritme for modulo et Mersenne-tal på en computer (faktisk reduceret til et par bitskifteoperationer ) er givet ved følgende sætning [4] :

For et heltal og et Mersenne-tal finder modulo-kongruens sted

,

desuden er multiplikation med modulo ækvivalent med et venstre cyklisk skift med en bit (hvis , så udføres skiftet i den modsatte retning).

For at beregne resten af ​​at dividere et tal med , skal du for eksempel konvertere det oprindelige tal til binær form: , og ifølge sætningen opdeles i to dele, hver gang det overstiger :

Ved brug af denne modulo-metode vil den beregningsmæssige kompleksitet af testen blive bestemt af kompleksiteten af ​​kvadreringsalgoritmen. Længden er lidt, og algoritmen til at gange to tal, for eksempel "i en kolonne", har kompleksitet [4] . Da kvadrering forekommer én gang i testen, er algoritmens beregningsmæssige kompleksitet [14] . Testen kan accelereres ved at bruge hurtige multiplikationsalgoritmer for store heltal, såsom Schönhage-Strassen multiplikationsmetoden . Testens kompleksitet i dette tilfælde vil være .

Variationer og generaliseringer

Tilstanden i testen kan svækkes [8] og kræver kun det , hvilket umiddelbart indebærer:

.

I 1930 udledte Lemaire et primalitetskriterium for tal af formen , hvor , og i 1969 ændrede Hans Riesel Lucas-Lehmer-testen for tal af denne form, som senere blev suppleret af Stechkin [9] . Det er muligt at generalisere testen til tal på formen [15] .

Williams beviste primalitetskriterier svarende til Luc-Lehmer-testen for tal af formenog, såvel som for nogle tal af formen, hvor er et primtal [9] .

Der er en mere generel primatitetstest , som er anvendelig for ethvert naturligt tal , hvis den fulde eller delvise faktorisering af tallet eller [4] er kendt .

Ansøgninger

Takket være Lucas-Lehmer-testen holder Mersenne-primtallene føringen som de største kendte primtal , selvom selv før testens eksistens var Mersenne-tal næsten altid de største primtal. Så i 1588 blev tallenes enkelhed bevist [16] .

Euklid beviste, at et hvilket som helst tal på formen  er perfekt , hvis  er primtal, og Euler viste, at alle lige perfekte tal har denne form [17] ; så Luc-Lehmer-testen giver dig faktisk mulighed for at finde alle lige perfekte tal.

Det er denne test, der ligger til grund for GIMPS distributed computing- projektet , som leder efter nye Mersenne-primtal [18] , selvom det endnu ikke er bevist, at der er uendeligt mange af dem [19] .

Denne test bruges også til at teste hardware . For eksempel, i 1992 testede AEA Technology en ny supercomputer fra Cray ved hjælp af et program skrevet af Slowinski for at finde Mersenne-primtal. Som et resultat blev et primtal opdaget efter 19 timers programdrift [20] .

Noter

  1. 1 2 Jaroma J. H. Notat om Lucas-Lehmer-testen  // Irish Math . soc. Bulletin - Irish Mathematical Society , 2004. - Vol. 54. - S. 63-72. — ISSN 0791-5578
  2. OEIS -sekvens A003010 _
  3. Abhijit Das. Beregningsmæssig talteori. - 2. udg. - CRC Press, 2016. - S. 290-292. — 614 s. - (Diskret matematik og dens anvendelser). — ISBN 1482205823 .
  4. 1 2 3 4 Crandall R., Pomerance K. Primtal. Kryptografiske og beregningsmæssige aspekter = Primtal: A Computational Perspective / pr. fra engelsk. A. V. Begunts, Ya. V. Wegner, V. V. Knotko, S. N. Preobrazhensky, I. S. Sergeev. - M . : URSS, Boghuset "Librokom", 2011. - S. 198-216, 498-500, 510-513. — 664 s. - ISBN 978-5-453-00016-6 , 978-5-397-02060-2.
  5. Robinson R. M. Mersenne og Fermat Numbers  // Proc . amer. Matematik. soc. / K. Ono - AMS , 1954. - Vol. 5, Iss. 5. - P. 842. - ISSN 0002-9939 ; 1088-6826 - doi:10.2307/2031878
  6. Kravitz S. The Lucas–Lehmer Test for Mersenne Numbers  (Eng.) // Fibonacci Quarterly / C. Cooper - The Fibonacci Association , 1970. - Vol. 8, Iss. 1. - S. 1-3. — ISSN 0015-0517 ; 2641-340X
  7. OEIS -sekvens A018844 _
  8. 1 2 Trost E. Primtal = Primzahlen / udg. A. O. Gelfond, overs. med ham. N. I. Feldman. - M. : Fizmatlit, 1959. - S. 42-46. — 137 s. — 15.000 eksemplarer.
  9. 1 2 3 4 5 Williams H. Test af numre for primalitet ved hjælp af computere = Primalitetstest på en computer // Lupanov O. B. Cybernetisk samling: journal / overs. fra engelsk. S. V. Chudova. - M . : Mir, 1986. - Udgave. 23 . - S. 51-99 . — ISBN N/A, LBC 32.81, UDC 519.95 .
  10. Ribenboim P. The Little Book of Bigger Primes  (engelsk) - 2. udgave - Springer-Verlag New York , 2004. - S. 75-87. — 356 s. — ISBN 978-0-387-21820-5
  11. Devlin K. Mathematics  (engelsk) : The New Golden Age - 2. udgave - UK : Penguin Books , 1998. - S. 75-87. - 320 sider. — ISBN 978-0-14-193605-5
  12. 1 2 Koshy T. Elementær talteori med anvendelser. — 2. udgave. - Academic Press, 2007. - S. 369-381. - 800p. — ISBN 9780080547091 .
  13. Bach E., Shallit J. Algorithmic Number Theory, Vol. 1: Effektive algoritmer. - The MIT Press, 1996. - S. 41-66. — 496 s. — (Foundations of Computing). — ISBN 978-0262024051 .
  14. Williams H. C. A Class of Primality Tests for Trinomials which include the Lucas-Lehmer Test  // Pacific Journal of Mathematics - Mathematical Sciences Publishers , 1982. - Vol. 98, Iss. 2. - S. 477-494. — ISSN 0030-8730 ; 1945-5844 - doi:10.2140/PJM.1982.98.477
  15. Rosen K. H. Elementær talteori og dens anvendelser  (eng.) - 5 - Addison-Wesley , 2004. - S. 261-265. — 744 s. — ISBN 978-0-321-23707-1
  16. Hasse G. Forelæsninger om talteori = Vorlesungen über die Theorie der algebraischen Zahlen / red. I. R. Shafarevich, oversættelse. med ham. V. B. Demyanova. - M . : Forlag for udenlandsk litteratur, 1953. - S. 36-44. — 528 s.
  17. ↑ Matematik og forskningsstrategi  . GIMPS . Hentet 4. december 2016. Arkiveret fra originalen 20. november 2016.
  18. Wolf M. Computereksperimenter med Mersenne Primes  // Computational Methods in Science and Technology - 2013. - Vol . 19, Iss. 3. - S. 157-165. — ISSN 1505-0602 ; 2353-9453 - doi:10.12921/CMST.2013.19.03.157-165 - arXiv:1112.2412
  19. Clawson C. C. Mathematical Mysteries  (engelsk) : Tallenes skønhed og magi - Springer US , 1996. - S. 174. - 314 s. - ISBN 978-0-306-45404-2 - doi:10.1007/978-1-4899-6080-1