Williamsova metoda je metoda faktorizace čísel pomocí Lucasových číselných posloupností , kterou vyvinul Hugh Williams v roce 1982. Algoritmus najde prvočíselného dělitele čísla . Podobná Pollardově -metodě , ale používá faktorizaci čísla . Má dobré ukazatele výkonnosti pouze v případě, že je snadné faktorizovat. Zpravidla není v praxi často zaváděn z důvodu nízkého procenta takových případů [1] .
Pro další výpočty musíme zavést posloupnosti Lucasových čísel a uvést některé jejich vlastnosti.
Dovolit a být nějaká pevná celá čísla. Lucasovy číselné řady jsou definovány jako [1] :
Nechte také
Sekvence mají následující vlastnosti:
Chcete-li tyto vlastnosti prokázat, zvažte explicitní vzorce pro posloupnost Lucasových čísel :
a
kde a jsou kořeny charakteristického polynomu
Použití explicitních vzorců a Viettovy věty :
dostáváme výrazy a
Dále zvýrazníme ještě jednu vlastnost:
Pokud GCD a pak: a odkud
A nakonec formulujeme větu:
Pokud je p liché prvočíslo a Legendreův symbol je , pak:Důkaz této věty je pracný a lze jej nalézt v knize D. G. Lemera [2] .
Nechť je prvočíslo dělitel faktorizovatelného čísla a rozšíření se provede:
kde jsou prvočísla.
Nechat
Uveďme číslo , kde jsou stupně voleny tak, že
Potom [1]
Dále, podle věty, pokud gcd pak
A proto se najde GCD , tedy dělitel požadovaného čísla [1] .
Stojí za zmínku, že čísla nejsou v počáteční fázi problému známa. Proto pro zjednodušení úlohy uděláme následující: od té doby podle vlastnosti (2) Dále použijeme vlastnost (6) a získáme:
Bez ztráty obecnosti tedy můžeme tvrdit, že [1]
Dále použijeme větu, ze které vyvozujeme, že
A proto [1]
Nyní vyberte nějaké číslo , například gcd
Označujeme:
Nakonec musíte najít GCD [1]
Při hledání postupujte následovně [1] :
1) rozložit do binárního tvaru: kde .
2) zavedeme posloupnost přirozených čísel . Ve stejnou dobu ;
3) hledáme dvojice hodnot podle následujícího pravidla:
kde4) hodnoty se hledají podle pravidel (která vyplývají z vlastností a definice posloupnosti Lucasových čísel ):
.Pro výchozí hodnoty, to znamená, dostaneme výsledek:
374468Zkontrolujeme tuto hodnotu. K tomu uvažujeme GCD GCD a .
Pokud jsme v prvním kroku neúspěšně vybrali čísla , to znamená, že se ukázalo, že GCD , musíme přistoupit ke druhému kroku. V opačném případě je práce dokončena [1] .
Nechť číslo má nějakého prvočíselného dělitele většího , ale menšího než některé , to znamená:
, kdeZadejte posloupnost prvočísel .
Představujeme další sekvenci:
Dále definujeme:
.Pomocí vlastnosti získáme první prvky:
.Dále použijeme vlastnost a získáme:
.Tak počítáme
Dále uvažujeme:
GCD proJakmile dostaneme , zastavíme výpočty [1] .
Pro výchozí hodnoty, to znamená, dostaneme výsledek:
139,což je správná odpověď.
Autor této metody provedl testy a metody na stroji AMDAHL 470-V7 na 497 různých číslech, které ukázaly, že v průměru je první krok algoritmu asi 2krát pomalejší než první krok algoritmu a druhý krok krok je asi 4x pomalejší [1] .
Vzhledem k tomu, že metoda faktorizace je rychlejší, je -metoda v praxi používána jen zřídka [1] .
V tuto chvíli (14. prosince 2013) se tři největší prvočíselníci [3] nalezení touto metodou skládají z 60, 55 a 53 desetinných míst.
Počet číslic | p | Dělitel čísel | Nalezeno (kdo) | Nalezeno (kdy) | B | B2 |
---|---|---|---|---|---|---|
60 | 725516237739635905037132916171116034279215026146021770250523 | A. Kruppa
P. Montgomery |
31.10.2007 | |||
55 | 1273305908528677655311178780176836847652381142062038547 | P. Leyland | 16.05.2011 | |||
53 | 60120920503954047277077441080303862302926649855338567 | P. Leyland | 26.02.2011 |
Zde je 2366. člen Lucasovy číselné řady.