Luc-Lehmer-Rieselův test

Lucas-Lehmer-Riesel test ( LLR ) je test primality pro čísla ve tvaru c (podmnožina takových čísel se nazývá čísla Sabit ). Vyvinutý Hansem Rieselem a založený na Luc-Lehmerově testu je nejrychlejším deterministickým algoritmem pro čísla tohoto druhu [1] .

Algoritmus

Algoritmus je velmi podobný Luc-Lehmer testu, ale začíná hodnotou, která závisí na . Pro algoritmus se používá Lucasova sekvence , která je dána vzorcem:

.

je prvočíslo právě tehdy, když dělí .

Nalezení počáteční hodnoty

Alternativní metoda pro zjištění výchozí hodnoty byla uvedena v roce 1994 [2] . Metoda je mnohem jednodušší než metoda používaná Rieselem pro případ, kdy se dělí 3 . V alternativní metodě nejprve najděte hodnotu , která vyhovuje následující rovnosti Jacobiho symbolu :

a .

V praxi je třeba zkontrolovat pouze několik hodnot (5, 8, 9 nebo 11 pokrývá 85 %).

Pro získání počáteční hodnoty můžete použít Lucasovu sekvenci [2] [3] . Pro 3 ∤ k (k není dělitelné 3) lze hodnotu použít a není potřeba žádné předběžné vyhledávání. Počáteční hodnota je pak rovna Lucasově sekvenci modulo . Tento proces trvá velmi málo času ve srovnání s hlavním testem.

Mechanismus testu

Luc-Lehmer-Rieselův test je speciální případ kontroly jednoduchosti uspořádání skupiny. Test ukazuje, že určité číslo je prvočíslo díky tomu, že určitá skupina má pořadí, které by se rovnalo tomuto prvočíslu, pro které je identifikován prvek skupiny, který má přesně požadované pořadí.

Testy jako Lukovy testy používají multiplikativní grupu kvadratického modulového rozšíření celých čísel pro číslo . Jestliže  je prvočíslo, pořadí multiplikativní grupy je , a má podskupinu řádu , pro účely testu se hledá generující množina této podskupiny.

Můžete najít neiterativní výraz pro . Podle Lucas-Lehmerova testovacího modelu nastavíme a získáme indukcí .

Uvažujme 2 i -tý prvek posloupnosti . Pokud a splňuje kvadratickou rovnici, je to Lucasova posloupnost a řídí se výrazem . Ve skutečnosti hledáme -tý prvek jiné posloupnosti, ale protože decimováním (výběrem každého k -tého prvku) Lucasovy posloupnosti také vznikne Lucasova posloupnost, můžeme zvolit faktor k výběrem počátečního bodu.

Program LLR

LLR je program, který provádí test LLR. Program vyvinul Jean Penné. Vincent Penné upravil program tak, abyste si mohli ověřit prvočíslo čísla přes internet. Program lze použít jak pro individuální vyhledávání, ale je také součástí některých distribuovaných výpočetních projektů včetně Riesel Sieve a PrimeGrid .

Viz také

Poznámky

  1. K testování primality Prothových čísel podobných těmto - se používá  buď Prothova věta ( pravděpodobnostní algoritmus ) nebo některý z deterministických algoritmů popsaných Brilhartem, Lehmerem a Selfridgem v roce 1975 - viz Brillhart, Lehmer, Selfridge, 1975
  2. 1 2 Rodseth, 1994 .
  3. Riesel, 1994 , s. 194.

Literatura

Odkazy