Numeroteorian Fermat - primaliteettitesti on luonnollisen luvun n primaliteettitesti , joka perustuu Fermatin pieneen lauseeseen .
Jos n on alkuluku , niin se tyydyttää vertailun mille tahansa a :lle , joka ei ole jaollinen n :llä .
Vertailu on välttämätön, mutta ei riittävä merkki siitä, että luku on alkuluku. Eli jos on ainakin yksi a , jolle , niin luku n on yhdistetty; muuten ei voida sanoa mitään, vaikka todennäköisyys, että luku on alkuluku, kasvaa. Jos vertailu tehdään yhdistelmäluvulle n , niin luvun n sanotaan olevan pseudoalkuluku kannassa a . Kun luvun primaalisuutta testataan Fermatin testillä, valitaan useita lukuja a . Mitä suurempi luku a , jolle , sitä suurempi on mahdollisuus, että luku n on alkuluku. On kuitenkin olemassa yhdistelmälukuja , joille vertailu suoritetaan kaikille n : n koprimeille - nämä ovat Carmichael-lukuja . Carmichael-luvut ovat äärettömiä , pienin Carmichael-luku on 561. Fermat-testi on kuitenkin varsin tehokas yhdistelmälukujen havaitsemiseen.
Nopeita eksponentiomoduloalgoritmeja käytettäessä Fermat-testin suoritusaika yhdelle a :lle arvioidaan O (log 2 n × log log n × log log log n ), jossa n on testattava luku. Yleensä suoritetaan useita tarkistuksia eri a .
Lukuteoreettiset algoritmit | |
---|---|
Yksinkertaisuustestit | |
Alkulukujen löytäminen | |
Faktorisointi | |
Diskreetti logaritmi | |
GCD:n löytäminen |
|
Modulo-aritmetiikka | |
Lukujen kerto- ja jakolasku | |
Neliöjuuren laskeminen |