Priemtest van Fermat
De priemtest van Fermat is een probabilistische methode om te controleren dat een getal een priemgetal is. De methode geeft geen uitsluitsel, maar alleen een indicatie dat het waarschijnlijk is dat het een priemgetal is.
Theorie
[bewerken | brontekst bewerken]De test is gebaseerd op de kleine stelling van Fermat. Voor een priemgetal en geldt:
Om te testen of een getal priem is, kiest men willekeurige getallen en gaat na of de kleinse stelling van Fermat daarvoor geldt. De vergelijking geldt voor alle priemgetallen, dus als het niet geldt voor een zekere waarde van , is een samengesteld getal. Als er veel waarden van zijn waarvoor de vergelijking wel geldt, kan men zeggen dat waarschijnlijk een priemgetal is, of een pseudopriemgetal.
Aangezien willekeurig is gekozen, kan het zijn dat voor geen enkele gekozen de vergelijking niet geldt. Is een samengesteld getal, dan wordt elke waarvoor:
een Fermat-leugenaar genoemd. Kiest men zodanig dat:
dan wordt een Fermat-getuige genoemd van het feit dat een samengesteld getal is.
Voorbeeld
[bewerken | brontekst bewerken]Stel dat we willen bepalen of een priemgetal is. Kies een willekeurige 1 ≤ < 221 van = 38. Controleer de bovenstaande vergelijking:
Ofwel 221 is priem, ofwel 38 is een Fermat-leugenaar. Daarom kiezen we een andere van 26:
Dus is 221 samengesteld en was 38 inderdaad een Fermat-leugenaar.
Algoritme
[bewerken | brontekst bewerken]Het algoritme kan in pseudocode als volgt worden geschreven:
Invoer: n > 1, waarvan getest moet worden of het al dan niet priem is; k, een geheel getal, dat de nauwkeurigheid van de test bepaalt Uitvoer: samengesteld als n samengesteld is, anders is mogelijk priem. herhaal k keer: neem een willekeurige a uit (1, n−1] als ggd(a,n) 1, dan uitvoer samengesteld als an−1 1 (mod n), dan uitvoer samengesteld uitvoer mogelijk priem.
Opmerkingen
[bewerken | brontekst bewerken]- De priemtest van Fermat is niet waterdicht. Een belangrijk probleem voor de test wordt gevormd door een speciaal soort samengestelde getallen, de carmichael-getallen. Dit zijn de samengestelde getallen met de eigenschap dat is voor elke met ggd(,) = 1. Tevens geldt dat elke vermenigvuldiging van zelf ook een pseudopriemgetal is. Er is een oneindig aantal originele carmichael-getallen.[1]
- Wanneer een samengesteld getal is, dat geen carmichael-getal is, dan geldt dat ten minste de helft van alle
- Fermat-getuigen zijn.
Laat de Fermat-leugenaars zijn en een Fermat-getuige. Dan geldt voor dat:
- voetnoten
- ↑ WR Alford, A Granville en C Pomerance. There are Infinitely Many Carmichael Numbers, 1994.
in Annals of Mathematics 139, blz 703-722
- websites
- Wikibooks. Pseudoprimzahlen: Tabelle Pseudoprimzahlen (15 - 4999). Pseudopriemgetallen tot en met 4999
- bronvermelding
- Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Fermat_primality_test op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.