Testul Luc-Lehmer

Testul Lucas-Lehmer ( ing. testul  Lucas-Lehmer , abreviat LLT ) este un test de primalitate polinom , determinist și necondiționat (adică nu depinde de ipoteze nedemonstrate) pentru numerele Mersenne . Formulat de Édouard Lucas în 1878 și dovedit de Lemaire în 1930 .

Având în vedere un număr prim , testul permite timpul polinomial al lungimii de biți a numărului Mersenne pentru a determina dacă este prim sau compus . Dovada validității testului se bazează în mare măsură pe funcțiile Lucas , care au făcut posibilă generalizarea testului Lucas-Lehmer la unele numere a căror formă este diferită de numerele Mersenne .

Datorită acestui test, cele mai mari numere prime cunoscute au fost aproape întotdeauna numere prime Mersenne, chiar înainte de apariția computerelor ; el este cel care stă la baza proiectului de calcul distribuit GIMPS , care este angajat în căutarea de noi numere prime Mersenne. Este interesant și pentru legătura cu numerele pare perfecte .

Formulare

Testul se bazează pe următoarele criterii pentru simplitatea numerelor Mersenne [1] :

Să fie un simplu număr impar. Un număr Mersenne este prim dacă și numai dacă împarte al treilea termen al șirului

[2] ,

dat recursiv :


Lemaire , 1930

Pentru a verifica simplitatea , succesiunea de numere este calculată modulo numărul (adică nu se calculează numerele în sine , a căror lungime crește exponențial , ci resturile după împărțirea la , a căror lungime este limitată de biți ). Ultimul număr din această secvență se numește restul Lucas-Lehmer [3] . Astfel, un număr Mersenne este prim dacă și numai dacă numărul  este un prim impar și restul Lucas-Lehmer este zero. Algoritmul în sine poate fi scris ca pseudocod [4] :

LLT (p) ►Introducere: număr prim impar p S=4 k = 1 M = 2 p − 1 Până la k != p - 1 S = ((S × S) − 2) mod M k += 1 Sfârșitul buclei Dacă S = 0 executați Return SIMPLE altfel Returnați COMPOUND Condiția de sfârșit

Valorile pentru care criteriul de primalitate este valabil formează o secvență: [5] [6] [7] .

Nu este necesar să se verifice toate numerele prime impare în enumerarea directă, deoarece unele numere Mersenne de o formă specială sunt întotdeauna compuse, ceea ce decurge, de exemplu, din următoarea teoremă demonstrată de Euler [ 8] :

Dacă numerele și sunt prime, atunci .

Dovada

O abordare a dovezii se bazează pe utilizarea funcțiilor lui Luke :

unde sunt rădăcinile ecuației pătratice

cu un discriminant și și sunt coprime .

În special, unele proprietăți ale acestor funcții sunt utilizate în demonstrație, și anume [9] :

unu. 2. 3. 4. Dacă , , și , apoi 5. Dacă este prim, astfel încât coprim cu , atunci se împarte la , unde , și este simbolul Legendre .

Schema de probă [9] :

Necesitate

Din proprietatea 4. modulo pentru , , rezultă:

,

și după proprietatea 2.

,

de aceea

și

, deci dacă este prim, atunci se împarte și de ultimele două proprietăți

În plus, din proprietățile 1. și 2.

,

dar prin proprietatea 3.

,

adică împarte , și deci .

Suficiență

Dacă se împarte , atunci din dovada necesităţii rezultă că împarte şi . coprim cu prin proprietatea 1., iar prin proprietatea 2. - împarte . Dar atunci fiecare divizor prim al numărului poate fi reprezentat ca , adică , prim.

Istorie

Criteriul simplității a fost propus de matematicianul francez Lucas în 1878 . În special, Lucas a arătat că algoritmul permite testarea primalității pentru numere prime [9] . În 1930, matematicianul american Lehmer a dovedit pe deplin validitatea criteriului pentru toate numerele prime impare în disertația sa pentru gradul de doctor în filozofie [1] .

În 1952, cu sprijinul lui Lemaire, Robinson a efectuat calcule pe computerul SWAC folosind testul Luc-Lehmer, care a dus la descoperirea numerelor prime și . Mai târziu, în același an, au fost descoperite și [10] .

Ușurința de implementare a testului și creșterea puterii de calcul a computerelor au permis practic oricui să caute numere prime Mersenne. Așadar, în 1978, doi liceeni americani Laura Nickel și Kurt Knoll (Lemaire i-a predat teoria numerelor) au dovedit simplitatea numărului în 3 ani de muncă folosind supercomputerul CDC Cyber ​​​​176 de la Universitatea din California [11] .

Cel mai mare prim Mersenne cunoscut pentru 2018, obținut cu ajutorul testului Lucas-Lehmer, este .

Exemple

Cerința de ciudat în condiția criteriului este esențială, deoarece  este simplă , dar .

Numărul  este prim [13] . Într-adevăr,

Aplicarea testului unui număr arată că acesta este compus [13] :

Într-adevăr, .

Complexitate computațională

Există două operații principale în testul luat în considerare: pătratul și împărțirea modulo . Un algoritm eficient pentru modulo un număr Mersenne pe un computer (reducându-se de fapt la câteva operații de deplasare de biți ) este dat de următoarea teoremă [4] :

Pentru un întreg și un număr Mersenne , are loc congruența modulo

,

în plus, înmulțirea cu modulo este echivalentă cu o deplasare ciclică la stânga cu un bit (dacă , atunci deplasarea este efectuată în direcția opusă).

De exemplu, pentru a calcula restul împărțirii unui număr la , trebuie să convertiți numărul original în formă binară: și, conform teoremei, împărțiți în două părți de fiecare dată când depășește :

Când se utilizează această metodă modulo, complexitatea de calcul a testului va fi determinată de complexitatea algoritmului de pătrare. Lungimea este puțin, iar algoritmul de înmulțire a două numere, de exemplu, „într-o coloană”, are complexitate [4] . Deoarece pătratul are loc o dată în test, complexitatea de calcul a algoritmului este [14] . Testul poate fi accelerat prin utilizarea algoritmilor de multiplicare rapidă pentru numere întregi mari, cum ar fi metoda de înmulțire Schönhage-Strassen . Complexitatea testului în acest caz va fi de .

Variații și generalizări

Condiția din test poate fi slăbită [8] și necesită doar aceea , ceea ce implică imediat:

.

În 1930, Lemaire a derivat un criteriu de primalitate pentru numerele de forma , unde , iar în 1969 Hans Riesel a modificat testul Lucas-Lehmer pentru numerele de această formă, care a fost completat ulterior de Stechkin [9] . Este posibil să se generalizeze testul la numere de forma [15] .

Williams a demonstrat criterii de primalitate similare testului Luc-Lehmer pentru numere de formași, precum și pentru unele numere de forma, unde este prim [9] .

Există un test de primalitate mai general , care este aplicabil pentru orice număr natural , dacă se cunoaște factorizarea totală sau parțială a numărului sau [4] .

Aplicații

Datorită testului Lucas-Lehmer, numerele prime Mersenne dețin liderul ca fiind cele mai mari numere prime cunoscute , deși chiar înainte de existența testului, numerele Mersenne erau aproape întotdeauna cele mai mari numere prime. Deci, în 1588, simplitatea numerelor și a fost dovedită [16] .

Euclid a demonstrat că orice număr de formă  este perfect dacă  este prim, iar Euler a arătat că toate numerele perfecte par au această formă [17] ; astfel încât testul Luc-Lehmer vă permite de fapt să găsiți toate numerele pare perfecte.

Acesta este testul care stă la baza proiectului de calcul distribuit GIMPS , care caută noi numere prime Mersenne [18] , deși nu s-a dovedit încă că există o infinitate de ele [19] .

Acest test este folosit și pentru a testa hardware -ul . De exemplu, în 1992, AEA Technology a testat un nou supercomputer de la Cray folosind un program scris de Slowinski pentru a găsi numerele prime Mersenne. Ca rezultat, un număr prim a fost descoperit în 19 ore de funcționare a programului [20] .

Note

  1. 1 2 Jaroma J. H. Notă despre testul Lucas–Lehmer  // Irish Math . soc. Buletin - Societatea Irlandeză de Matematică , 2004. - Vol. 54. - P. 63-72. — ISSN 0791-5578
  2. Secvența OEIS A003010 _
  3. Abhijit Das. Teoria numerelor computaționale. - Ed. a II-a. - CRC Press, 2016. - P. 290-292. — 614 p. - (Matematică discretă și aplicațiile sale). — ISBN 1482205823 .
  4. 1 2 3 4 Crandall R., Pomerance K. Numerele prime. Aspecte criptografice și de calcul = Prime Numbers: A Computational Perspective / per. din engleza. A. V. Begunts, Ya. V. Wegner, V. V. Knotko, S. N. Preobrazhensky, I. S. Sergeev. - M . : URSS, Casa de carte „Librokom”, 2011. - S. 198-216, 498-500, 510-513. — 664 p. - ISBN 978-5-453-00016-6 , 978-5-397-02060-2.
  5. Robinson R. M. Mersenne și numerele Fermat  // Proc . amer. Matematică. soc. / K. Ono - AMS , 1954. - Vol. 5, Iss. 5. - P. 842. - ISSN 0002-9939 ; 1088-6826 - doi:10.2307/2031878
  6. Kravitz S. Testul Lucas–Lehmer pentru numerele Mersenne  (ing.) // Fibonacci Quarterly / C. Cooper - The Fibonacci Association , 1970. - Vol. 8, Iss. 1. - P. 1-3. — ISSN 0015-0517 ; 2641-340X
  7. Secvența OEIS A018844 _
  8. 1 2 Trost E. Numere prime = Primzahlen / ed. A. O. Gelfond, trad. cu el. N. I. Feldman. - M. : Fizmatlit, 1959. - S. 42-46. — 137 p. — 15.000 de exemplare.
  9. 1 2 3 4 5 Williams H. Testarea numerelor pentru primalitate cu ajutorul computerelor = Primality testing on a computer // Lupanov O. B. Cybernetic collection: journal / trad. din engleza. S. V. Chudova. - M . : Mir, 1986. - Numărul. 23 . - S. 51-99 . — ISBN N/A, LBC 32.81, UDC 519.95 .
  10. Ribenboim P. The Little Book of Bigger Primes  (engleză) - ediția a 2-a - Springer-Verlag New York , 2004. - P. 75-87. — 356 p. — ISBN 978-0-387-21820-5
  11. Devlin K. Mathematics  (engleză) : The New Golden Age - Ediția a 2-a - Marea Britanie : Penguin Books , 1998. - P. 75-87. — 320p. — ISBN 978-0-14-193605-5
  12. 1 2 Koshy T. Teoria elementară a numerelor cu aplicații. — ediția a II-a. - Presa Academică, 2007. - P. 369-381. — 800p. — ISBN 9780080547091 .
  13. Bach E., Shallit J. Teoria numerelor algoritmice, voi. 1: Algoritmi eficienți. - The MIT Press, 1996. - P. 41-66. — 496 p. — (Fundații ale calculului). — ISBN 978-0262024051 .
  14. Williams H. C. A Class of Primality Tests for Trinomials Which Includes the Lucas-Lehmer Test  // Pacific Journal of Mathematics - Mathematical Sciences Publishers , 1982. - Vol. 98, Iss. 2. - P. 477-494. — ISSN 0030-8730 ; 1945-5844 - doi:10.2140/PJM.1982.98.477
  15. Rosen K. H. Teoria elementară a numerelor și aplicațiile sale  (ing.) - 5 - Addison-Wesley , 2004. - P. 261-265. — 744 p. — ISBN 978-0-321-23707-1
  16. Hasse G. Prelegeri de teoria numerelor = Vorlesungen über die Theorie der algebraischen Zahlen / ed. I. R. Şafarevici, trad. cu el. V. B. Demyanova. - M . : Editura de literatură străină, 1953. - S. 36-44. — 528 p.
  17. ↑ Matematică și strategie de cercetare  . GIMPS . Preluat la 4 decembrie 2016. Arhivat din original la 20 noiembrie 2016.
  18. Wolf M. Computer Experiments with Mersenne Primes  // Computational Methods in Science and Technology - 2013. - Vol . 19, Iss. 3. - P. 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  (engleză) : The Beauty and Magic of Numbers - Springer US , 1996. - P. 174. - 314 p. - ISBN 978-0-306-45404-2 - doi:10.1007/978-1-4899-6080-1