Lucas-Lehmer-Rieseltest

Uit testwiki
Naar navigatie springen Naar zoeken springen

De Lucas-Lehmer-Rieseltest[1] is een test om te controleren dat een getal n een priemgetal is of niet. N = k*2^n-1, met 2n > k. De test is door Hans Riesel ontwikkeld en is gebaseerd op de bestaande Lucas-Lehmertest voor mersennegetallen.

Het algoritme

Het algoritme is gebaseerd op dezelfde rij als de Lucas-Lehmertest, maar dan met een variabele beginwaarde, die afhankelijk is van k.

Definieer voor i=1,2, de rij (ui) door:

ui+1=ui22

Als het getal N=k2n1 een deler is van un2, dan is N een priemgetal. Omdat de rij zeer snel groter wordt, rekenet men modulo N. Als un20(modN), is N een priemgetal.

Het is nog wel zaak een goede startwaarde u0 te vinden.

Startwaarde

  • Als k=1, is 4 een goede startwaarde voor oneven n; als n3(mod4), geldt u0=3.
  • Als k=3, moet u0=5778 voor n3(mod4) of n0(mod4), geldt u0=3.
  • Als k=1 of k5(mod6) en 3 is geen deler van N, dan geldt u0=(2+3)h+(23)h.

LLR-software

LLR is een programma dat LLR-tests uit kan voeren. Het programma is ontwikkeld door Jean Penné. Vincent Penné heeft het programma zo aangepast dat het tests op kan halen via internet. Deze software wordt ook door het distributed computingproject Riesel Sieve gebruikt. In 2010 is het project gestopt. Het project draait nu als onderdeel van PrimeGrid.

Verwijzingen en voetnoten

  • Jean Penné. LLR.

Sjabloon:References

  1. Sjabloon:En Hans Riesel. Lucasian Criteria for the Primality of N = k*2^n-1, 4 oktober 1986. (pdf)