Luc-Lehmerův test

Lucas-Lehmer test ( angl.  Lucas -Lehmer test , zkr. LLT ) je polynomiální , deterministický a nepodmíněný (tj. nezávislý na neprokázaných hypotézách) test primality pro Mersennova čísla . Formuloval Édouard Lucas v roce 1878 a dokázal Lemaire v roce 1930 .

Dané prvočíslo počítá s polynomiálním časem bitové délky Mersennova čísla k určení, zda je prvočíslo nebo složené . Důkaz platnosti testu se do značné míry opírá o Lucasovy funkce , které umožnily zobecnit Lucas-Lehmerův test na některá čísla, jejichž tvar je odlišný od Mersennových čísel .

Díky tomuto testu byla největší známá prvočísla téměř vždy Mersennova prvočísla, dokonce ještě před příchodem počítačů ; je to on, kdo stojí za projektem distribuovaných počítačů GIMPS , který se zabývá hledáním nových Mersennových prvočísel. Zajímavý je také spojením se sudými čísly .

Formulace

Test je založen na následujících kritériích jednoduchosti Mersennových čísel [1] :

Nechť je jednoduché liché číslo. Mersennovo číslo je prvočíslo právě tehdy, když dělí tý člen posloupnosti

[2] ,

dáno rekurzivně :


Lemaire , 1930

Pro kontrolu jednoduchosti se posloupnost čísel počítá modulo the number (tedy nepočítají se samotná čísla , jejichž délka roste exponenciálně , ale zbytky po dělení , jejichž délka je omezena bity ). Poslední číslo v této sekvenci se nazývá Lucas-Lehmerův zbytek [3] . Mersennovo číslo je tedy prvočíslo právě tehdy, když je toto číslo  liché prvočíslo a Lucas-Lehmerův zbytek je nula. Samotný algoritmus lze zapsat jako pseudokód [4] :

LLT (p) ►Vstup: liché prvočíslo p S=4 k = 1 M = 2 p − 1 Dokud k != p - 1 S = ((S × S) − 2) mod M k += 1 Konec smyčky Pokud S = 0 proveďte Return SIMPLE jinak Return COMPOUND Koncová podmínka

Hodnoty , pro které platí kritérium primality, tvoří sekvenci: [5] [6] [7] .

Není nutné kontrolovat všechna prvočísla lichá čísla v přímém výčtu, protože některá Mersennova čísla speciálního tvaru jsou vždy složená, což vyplývá například z následující věty dokázané Eulerem [ 8] :

Jsou-li čísla a prvočísla, pak .

Důkaz

Jeden přístup k důkazu je založen na použití Lukeových funkcí :

kde jsou kořeny kvadratické rovnice

s diskriminantem a a jsou coprime .

V důkazu jsou použity zejména některé vlastnosti těchto funkcí, konkrétně [9] :

jeden. 2. 3. 4. Pokud , , a , pak 5. Jestliže je prvočíslo, takové, že coprime s , pak dělí , kde , a je Legendre symbol .

Důkazní schéma [9] :

Nutnost

Z vlastnosti 4. modulo for , vyplývá:

,

a podle majetku 2.

,

proto

a

, takže pokud je prvočíslo, pak se také dělí od posledních dvou vlastností

Dále z vlastností 1. a 2.

,

ale podle majetku 3.

,

to je, rozděluje , a proto .

Dostatečnost

Pokud rozděluje , pak z důkazu nutnosti vyplývá , že rozděluje a . spoluvlastní se podle vlastnosti 1. a podle vlastnosti 2. - dělí . Ale pak každý prvočíselník čísla může být reprezentován jako , tedy prvočíslo.

Historie

Kritérium jednoduchosti navrhl francouzský matematik Lucas v roce 1878 . Zejména Lucas ukázal, že algoritmus umožňuje testování prvočísel pro prvočísla [9] . V roce 1930 americký matematik Lehmer plně prokázal platnost kritéria pro všechna lichá prvočísla ve své disertační práci pro titul doktora filozofie [1] .

V roce 1952 provedl Robinson s podporou Lemaire výpočty na počítači SWAC pomocí Luc-Lehmerova testu, který vyústil v objev prvočísel a . Později ve stejném roce byly objeveny , a [10] .

Snadná implementace testu a růst výpočetního výkonu počítačů umožnil prakticky komukoli hledat Mersennova prvočísla. Takže v roce 1978 dva američtí středoškoláci Laura Nickel a Kurt Knoll (Lemaire je naučil teorii čísel) prokázali jednoduchost čísel za 3 roky práce pomocí superpočítače CDC Cyber ​​​​176 na University of California [11] .

Největší známé Mersennovo prvočíslo pro rok 2018 získané pomocí Lucas-Lehmerova testu je .

Příklady

Požadavek na zvláštnost v podmínce kritéria je zásadní, protože  je jednoduchý , ale .

Číslo  je prvočíslo [13] . Opravdu,

Použití testu na číslo ukazuje, že je složené [13] :

Opravdu, .

Výpočetní složitost

V uvažovaném testu jsou dvě hlavní operace: kvadratura a dělení modulo . Efektivní algoritmus pro modulo a Mersennovo číslo na počítači (ve skutečnosti redukující na operace s několika bitovým posunem ) je dán následující větou [4] :

Pro celé číslo a Mersennovo číslo nastává modulová kongruence

,

navíc násobení modulem je ekvivalentní levému cyklickému posunu o bit (jestliže , pak se posun provede v opačném směru).

Chcete-li například vypočítat zbytek po dělení čísla číslem , musíte převést původní číslo do binárního tvaru: a podle věty se rozdělit na dvě části pokaždé, když překročí :

Při použití této modulo metody bude výpočetní složitost testu určena složitostí kvadratického algoritmu. Délka je bit a algoritmus pro násobení dvou čísel, například "ve sloupci", je složitý [4] . Protože kvadratura nastane jednou v testu, výpočetní složitost algoritmu je [14] . Test lze urychlit použitím rychlých násobicích algoritmů pro velká celá čísla, jako je Schönhage-Strassenova metoda násobení . Složitost testu v tomto případě bude .

Variace a zobecnění

Podmínka v testu může být oslabena [8] a vyžaduje pouze to , z čehož bezprostředně vyplývá:

.

V roce 1930 Lemaire odvodil kritérium primality pro čísla ve tvaru , kde , a v roce 1969 Hans Riesel upravil Lucas-Lehmerův test pro čísla tohoto tvaru, který později doplnil Stechkin [9] . Test je možné zobecnit na čísla tvaru [15] .

Williams dokázal kritéria primality podobná Luc-Lehmerovu testu pro čísla ve tvarua, stejně jako pro některá čísla ve tvaru, kde je prvočíslo [9] .

Existuje obecnější test primality , který je použitelný pro jakékoli přirozené číslo , pokud je známa úplná nebo částečná rozklad čísla nebo [4] .

Aplikace

Díky Lucas-Lehmerově testu drží Mersennova prvočísla prvenství jako největší známá prvočísla , i když ještě před existencí testu byla Mersennova čísla téměř vždy největšími prvočísly. Takže v roce 1588 byla prokázána jednoduchost čísel a [16] .

Euclid dokázal, že jakékoli číslo tvaru  je dokonalé , pokud  je prvočíslo, a Euler ukázal, že všechna sudá dokonalá čísla mají tento tvar [17] ; takže Luc-Lehmerův test vám vlastně umožňuje najít všechna sudá dokonalá čísla.

Právě tento test je základem projektu distribuovaných výpočtů GIMPS , který hledá nová Mersennova prvočísla [18] , i když zatím nebylo prokázáno, že jich je nekonečně mnoho [19] .

Tento test se také používá k testování hardwaru . Například v roce 1992 AEA Technology testovala nový superpočítač od Cray pomocí programu napsaného Slowinskim k nalezení Mersennova prvočísel. Výsledkem bylo, že za 19 hodin provozu programu bylo objeveno prvočíslo [20] .

Poznámky

  1. 1 2 Jaroma J. H. Poznámka k Lucas–Lehmerově testu  // Irish Math . soc. Bulletin - Irish Mathematical Society , 2004. - Vol. 54. - S. 63-72. — ISSN 0791-5578
  2. OEIS sekvence A003010 _
  3. Abhijit Das. Výpočetní teorie čísel. - 2. vyd. - CRC Press, 2016. - S. 290-292. — 614 s. - (Diskrétní matematika a její aplikace). — ISBN 1482205823 .
  4. 1 2 3 4 Crandall R., Pomerance K. Prvočísla . Kryptografické a výpočetní aspekty = Prvočísla: A Computational Perspective / per. z angličtiny. A. V. Begunts, Ya, V. Wegner, V. V. Knotko, S. N. Preobraženskij, I. S. Sergeev. - M . : URSS, Dům knihy "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 a Fermatova čísla  // Proc . amer. Matematika. soc. / K. Ono - AMS , 1954. - Sv. 5, Iss. 5. - S. 842. - ISSN 0002-9939 ; 1088-6826doi:10.2307/2031878
  6. Kravitz S. The Lucas–Lehmer Test for Mersenne Numbers  (anglicky) // Fibonacci Quarterly / C. Cooper - The Fibonacci Association , 1970. - Vol. 8, Iss. 1. - S. 1-3. — ISSN 0015-0517 ; 2641-340X
  7. OEIS sekvence A018844 _
  8. 1 2 Trost E. Prvočísla = Primzahlen / ed. A. O. Gelfond, přel. s ním. N. I. Feldman. - M. : Fizmatlit, 1959. - S. 42-46. — 137 s. — 15 000 výtisků.
  9. 1 2 3 4 5 Williams H. Testování prvočísel pomocí počítačů = Testování primality na počítači // Lupanov O. B. Cybernetic collection: journal / transl. z angličtiny. S. V. Chudová. - M .: Mir, 1986. - Vydání. 23 . - S. 51-99 . — ISBN N/A, LBC 32,81, MDT 519,95 .
  10. Ribenboim P. The Little Book of Bigger Primes  (anglicky) - 2. vydání - Springer-Verlag New York , 2004. - S. 75-87. — 356 s. — ISBN 978-0-387-21820-5
  11. Devlin K. Mathematics  (anglicky) : The New Golden Age - 2. vydání - UK : Penguin Books , 1998. - S. 75-87. — 320p. — ISBN 978-0-14-193605-5
  12. 1 2 Koshy T. Elementární teorie čísel s aplikacemi. — 2. vydání. - Academic Press, 2007. - S. 369-381. — 800p. — ISBN 9780080547091 .
  13. Bach E., Shallit J. Algorithmic Number Theory, sv. 1: Efektivní algoritmy. - The MIT Press, 1996. - S. 41-66. — 496 s. — (Základy výpočetní techniky). — 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-5844doi:10.2140/PJM.1982.98.477
  15. Rosen K. H. Elementary Number Theory and its Applications  (Angl.) - 5 - Addison-Wesley , 2004. - S. 261-265. — 744 s. — ISBN 978-0-321-23707-1
  16. Hasse G. Přednášky o teorii čísel = Vorlesungen über die Theorie der algebraischen Zahlen / ed. I. R. Shafarevich, přel. s ním. V. B. Demjanová. - M . : Nakladatelství zahraniční literatury, 1953. - S. 36-44. — 528 s.
  17. ↑ Strategie matematiky a výzkumu  . GIMPS . Získáno 4. prosince 2016. Archivováno z originálu dne 20. listopadu 2016.
  18. Wolf M. Computer Experiments with Mersenne Primes  // Computational Methods in Science and Technology - 2013. - Vol . 19, Iss. 3. - S. 157-165. — ISSN 1505-0602 ; 2353-9453doi:10.12921/CMST.2013.19.03.157-165arXiv:1112.2412
  19. Clawson C. C. Mathematical Mysteries  (anglicky) : The Beauty and Magic of Numbers - Springer US , 1996. - S. 174. - 314 s. - ISBN 978-0-306-45404-2 - doi:10.1007/978-1-4899-6080-1