Racionální síto

Racionální síto je obecný algoritmus pro rozklad celých čísel na prvočinitele . Algoritmus je speciálním případem metody obecného číselného pole síta . I když je méně účinný než obecný algoritmus, je koncepčně jednodušší. Algoritmus může pomoci porozumět tomu, jak funguje metoda obecného síta číselného pole.

Metoda

Předpokládejme, že se pokoušíme faktorizovat složené číslo n . Definujeme hranici B a bázi faktorů (kterou budeme označovat P ), množinu všech prvočísel menších nebo rovných B . Pak hledáme kladné celé číslo z takové, že z i z+n jsou B -hladké , to znamená, že všechny jejich prvotřídní dělitele jsou obsaženy v P . Můžeme tedy psát pro vhodné mocniny

,

a také pro vhodné máme

.

Ale a jsou modulo srovnatelné , takže každé takové celé číslo z , které najdeme, dává modulo násobící odkaz ( mod n ) mezi všemi prvky P , tj.

(kde ai a b i jsou nezáporná celá čísla. )

Když jsme vygenerovali dostatek těchto poměrů (obvykle dost, že počet takových poměrů je o něco větší než velikost P ), můžeme použít metody lineární algebry k vynásobení těchto různých poměrů takovým způsobem, že mocniny všech prvočinitelů se změní. být vyrovnaný. Tím získáme srovnatelnost čtverců modulo tvaru a 2 ≡ b 2 (mod n ), které lze převést na faktorizaci čísla n , n = gcd ( a - b , n ) × gcd ( a + b , n ). Takový rozklad může být triviální (tj. n = n × 1), v takovém případě bychom to měli zkusit znovu s jinou kombinací poměrů. Pokud budeme mít štěstí, dostaneme netriviální dvojici dělitelů n a algoritmus skončí.

Příklad

Rozložme číslo n = 187 na faktor pomocí racionálního síta. Zkusme číslo B =7, pro které  jako základ faktorů slouží množina P = {2,3,5,7}. Prvním krokem je zkontrolovat, zda je číslo n dělitelné čísly z množiny P . Je jasné, že v případě, kdy n je dělitelné jedním z těchto prvočísel, jsme našli řešení. 187 však není dělitelné 2, 3, 5 nebo 7. V dalším kroku hledáme vhodné hodnoty z , vhodná čísla jsou 2, 5, 9 a 56. Čtyři hodnoty z dávají poměry modulo 187:

Nyní tyto poměry různými způsoby kombinujeme a končíme se sudými mocninami. Například,

Alternativně rovnice (3) již má požadovaný tvar:

Omezení algoritmu

Racionální síto, stejně jako obecné síto číselného pole, nemůže získat rozklad čísel tvaru p m , kde p je prvočíslo a m je celé číslo. Problém to není příliš velký – statisticky jsou taková čísla vzácná a navíc existuje jednoduchý a rychlý proces kontroly, zda dané číslo má takový tvar. Zřejmě nejelegantnější metodou je zkontrolovat, zda pro 1 < b < log(n), pomocí celočíselné verze Newtonovy kořenové metody [2]

Největší problém je najít čísla z taková, že z i z + n jsou B -hladké . Pro každé dané B se podíl B -hladkých čísel rychle snižuje s velikostí čísla. Pokud je tedy n velké (řekněme sto číslic), bude obtížné nebo téměř nemožné najít dostatek z , aby algoritmus fungoval. Výhodou algoritmu obecného síta pole čísel je, že je třeba najít hladká čísla řádu n 1/ d pro nějaké kladné celé číslo d (obvykle 3 nebo 5), místo řádu n , jak to vyžaduje tento algoritmus.

Poznámky

  1. Všimněte si, že společné faktory nelze obecně zrušit srovnáním, ale v tomto případě je lze zrušit, protože všechna prvočísla v základu faktoru jsou coprime k n . Viz inverzní násobení v modulární aritmetice
  2. R. Crandall, J. Papadopoulos, O implementaci testů primality třídy AKS Archivováno 5. října 2012 na Wayback Machine

Literatura