Luc-Lehmer-Riesel test

Lucas-Lehmer-Riesel-testet ( LLR ) är ett primalitetstest för tal av formen c (en delmängd av sådana tal kallas Sabit-tal ). Utvecklad av Hans Riesel och baserad på Luc-Lehmer-testet är det den snabbaste deterministiska algoritmen för siffror av detta slag [1] .

Algoritm

Algoritmen är väldigt lik Luc-Lehmer-testet, men börjar med ett värde som beror på . För algoritmen används Lucas-sekvensen , som ges av formeln:

.

är primtal om och endast om den delar sig .

Hitta ett startvärde

En alternativ metod för att hitta startvärdet gavs 1994 [2] . Metoden är mycket enklare än den som Riesel använder för fallet när 3 delar . I den alternativa metoden, hitta först värdet som uppfyller följande Jacobi- symbollikhet :

och .

I praktiken behöver bara ett fåtal värden kontrolleras (5, 8, 9 eller 11 täcker 85%).

För att få det initiala värdet från du kan använda Lucas-sekvensen [2] [3] . För 3 ∤ k (k är inte delbart med 3) kan värdet användas och ingen preliminär sökning behövs. Det initiala värdet är då lika med Lucas-sekvensen modulo . Denna process tar mycket kort tid jämfört med huvudtestet.

Mekanism av testet

Luc-Lehmer-Riesel-testet är ett specialfall för att kontrollera enkelheten i ordningen för en grupp. Testet visar att ett visst tal är primtal på grund av att en viss grupp har en ordning som skulle vara lika med detta primtal, för vilken ett element i gruppen identifieras som har exakt den önskade ordningen.

Tester som Lukes tester använder den multiplikativa gruppen av den kvadratiska moduloexpansionen av heltal för ett tal . Om  är prime, ordningen för den multiplikativa gruppen är , och den har en undergrupp av ordningen , för testets syfte, söks genereringsmängden för denna undergrupp.

Du kan hitta ett icke-iterativt uttryck för . Efter Lucas-Lehmer-testmodellen ställer vi in ​​och erhåller genom induktion .

Betrakta det 2 :e elementet i sekvensen . Om a uppfyller en andragradsekvation är det en Lucas-sekvens och lyder uttrycket . Vi letar egentligen efter det -e elementet i en annan sekvens, men eftersom decimering (att välja varje k -:te element) av Lucas-sekvensen också ger en Lucas-sekvens, kan vi välja faktorn k genom att välja en startpunkt.

LLR-program

LLR är ett program som utför ett LLR-test. Programmet har utvecklats av Jean Penné. Vincent Penné modifierade programmet så att du kan kontrollera ett nummers primeness över Internet. Programmet kan användas både för individuella sökningar, men ingår också i vissa distribuerade datorprojekt inklusive Riesel Sieve och PrimeGrid .

Se även

Anteckningar

  1. För att testa primaaliteten hos Proth-tal som liknar dessa - används  antingen Proth Theorem ( probabilistisk algoritm ) eller en av de deterministiska algoritmer som beskrevs av Brilhart, Lehmer och Selfridge 1975 - se Brillhart, Lehmer, Selfridge, 1975
  2. 1 2 Rodseth, 1994 .
  3. Riesel, 1994 , sid. 194.

Litteratur

Länkar