Pocklington -testet är ett deterministiskt primattest som utvecklats av Henry Pocklington och Derrick Henry Lehmer . Pocklington-testet låter dig avgöra om ett givet tal är primtal .
Låt där q är ett primtal, . Om det finns ett heltal så att gcd , så har varje primtal divisor av talet formen för någon naturlig .
Låt vara en primtal divisor av . Sedan följer av satsens villkor att och . Därför erhåller vi att moduloordningen för elementet uppfyller villkoren: , där är något heltal. Låt oss säga att det delar sig . I det här fallet , var är ett heltal. Därför är det omöjligt. Sedan är då delbart med . Antalet måste dock dela sig. Därför, för vissa . Teoremet har bevisats.
Låt vara ett naturligt tal. Låt talet ha en primtalsdelare och . Om det finns ett heltal så att följande två villkor är uppfyllda:
då är ett primtal.
Låt oss anta att det är ett sammansatt tal. Sedan finns det ett primtal — divisor , och . Observera att därför och är coprime. Därför finns det något heltal så att . Men i det här fallet (på grund av villkor 1)). Men på detta sätt erhålls en motsägelse till villkor 2). Därför är det ett primtal.
Till skillnad från Salridges teorem kräver Pocklingtons kriterium inte kunskap om den fullständiga faktoriseringen av ett tal till primtalsfaktorer och tillåter en att begränsa sig till en partiell faktorisering av ett tal . Det är lämpligt för att testa för primalitet, förutsatt att det är delbart med ett primtal , och även om det kan hittas och bevisas vara primtal.
Det är också värt att notera att detta kriterium endast är probabilistiskt i den meningen att ett slumpmässigt valt nummer antingen kan uppfylla GCD- villkoret eller inte. Om är ett udda primtal, , gcd , då för ett slumpmässigt valt tal är denna sannolikhet . Men så snart en sådan hittas , bevisar kriteriet att det är ett primtal. Till skillnad från probabilistiska tester (som till exempel Miller-Rabin- testet, Solovay-Strassen-testet etc.) är slutsatsen av Pocklington-testet ganska bestämd.
Den största svårigheten förknippad med användningen av detta kriterium kan vara behovet av att hitta en primtalsdelare för talet , som i praktiken kan reduceras till full faktorisering. Att hitta rätt är en mindre utmaning. Enligt Neil Koblitz är värdet ofta lämpligt att testa med Pocklington-testet.
Även om Pocklington-testet bara bevisar att ett tal är primtal med rätt val av , är det möjligt att uppskatta dess algoritmiska komplexitet under antagandet att vi har valt det korrekt. Testets beräkningskomplexitet kommer att vara summan av komplexiteten i att faktorisera ett tal och ett tal . När man använder faktoriseringsalgoritmer med subexponentiell komplexitet kan det begränsas ovanifrån av värdet som anges i L-notation , där och beror på valet av faktoriseringsalgoritmen.
Låt oss bevisa att talet är primtal. Låt oss hitta en enkel divisor av talet , det vill säga 30. Det är , och . Siffran a=2 uppfyller båda kriterierna:
Därför är talet 31 primtal enligt Pocklington-kriteriet
Ett specialfall av Pocklington-kriteriet är Proth-satsen , som är ett primalitetstest för Proth-tal , där är udda och . Det ser ut så här:
Låt , var , , och inte dela . Då är ett primtal om och endast om villkoret är uppfyllt .