素数の判定方法はたくさんありますが、概ね、以下のように分類できます。
・決定論的な決定的素数判定試し割り、エラトステネスの篩
最大公約数
・確率的素数判定法「素数である確率が高い数」のことを確率的素数(probable prime)という。・特殊な形式の整数に対する判定
この確率的素数判定法は非常に高速なので、実用上、確率的素数判定法の繰り返しをもって素数判定法に代える場合が多い。
・フェルマーテスト
・ミラー-ラビン素数判定法
適用範囲は限定的だが、非常に大きい整数を高速に扱える特徴がある。
リュカ(Lucas)テスト - メルセンヌ数に対する判定法
リュカ-レーマーテスト(Lucas-Lehmer primality test)−同上
Pepin の判定法 - フェルマー数に対する判定法
フェルマーの小定理
p が奇素数であるとき、p と互いに素な整数 a において
ap−1 ≡1 (mod p)
が成立。
また、 ap−1 ≡1 (mod
p) が成り立つとき、p は、かなりの確率で素数と言えます。
フェルマーテストにおいて、素数ではないのに確率的素数であると判定される数を 擬素数 と呼びます。
擬素数かどうかは底により決まり、ある底で擬素数であっても他の底で擬素数であるとは限りません。
そのため、複数の底でテストを行うことで、信頼性を高めることができきます。
しかしながら、それでも、それ自身と互いに素である全ての底においてフェルマーテストを通過してしまう擬素数が存在し、それらはカーマイケ
ル数と呼ばれています。
小さい順に、561, 1105, 1729, 2465, 2821, 6601, 8911, …
と、無数に存在することが判明しています。
試し割りやエラトステネスの篩のような総当りを除いて、一般の数値が素数であるかを判定する方法はありません。
メルセンヌ数のうち素数となる数値群
リュカ・テスト( Lucas Test )1644年にマ ラン・メルセンヌは、 2n − 1 が素数になるのは、n ≤ 257 では、n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257 だけであると主張した。しかしその主張の一部は誤っていて、リストに含まれていない M61, M89, M107 も素数であり、リストに含まれている M67, M257 は合成数であることが後に判明した。
現在判明している素数になるメルセンヌ数は、小さい方から
2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521,607 ・・・・
メルセンヌ数は、リュカ・テストと呼ばれる方法で素数であるかを判定でき、現在、最大素数の発見レースは、このメルセンヌ数にて行われ ています。
最新のメルセンヌ素数は
48番目 2013年1月25日に発見 n= 57,885,161 桁数は17,425,170
メ ルセンヌ数: Mp=2p-1 [pは素数] において
数列Sn
S1=4
Sn+1=Sn2-2 (mod Mp) (n≧1)
Mpが素数であれば、 Sp-1=0 (mod Mp) となる。