メルセンヌ数

nが0以外の自然数であるとき、Mn = 2n − 1になる自然数
メルセンヌ素数から転送)

メルセンヌ数(メルセンヌすう、: Mersenne number)とは、2の冪よりも 1 小さい自然数、すなわち 2n − 1n は自然数)の形の自然数のことである。これを Mn で表すことが多い。メルセンヌ数を小さい順に列挙すると

1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, ... (オンライン整数列大辞典の数列 A000225)

となる。メルセンヌ数は2進法表記で n 桁の 11⋯11、すなわちレピュニットとなる。

Mn = 2n − 1素数ならば n もまた素数であるが、逆は成立しない (M11 = 2047 = 23 × 89)。素数であるメルセンヌ数をメルセンヌ素数(メルセンヌそすう、: Mersenne prime)という。なお、「メルセンヌ数」という語で、n が素数であるもののみを指したり[1]、さらに狭義の意味でメルセンヌ素数を指す場合もある[注釈 1]

基本的な性質

Mn が素数ならば n もまた素数であることは、次の式から分かる[2][3]

2ab − 1 = (2a − 1)(1 + 2a + 22a + ⋯ + 2(b−1)a).

対偶命題n が合成数ならば Mn は合成数である」が示される。また、この等式より、m | n のとき Mm | Mn である。一方、 p が素数でも Mp が素数とは限らない。最小の反例は p = 11 の場合であり、M11 = 2047 = 23 × 89 が成り立つ。

(奇)素数 p に対して Mp が素数であるかどうかは、リュカ-レーマー・テストによって判定できる (#素数判定法節を参照)。

完全数

Mp = 2p − 1 が素数ならば、2p−1(2p − 1)完全数である[2][4]。この定理はすでに紀元前3世紀頃のユークリッド原論で証明されていた[5]。したがって、完全数の探索はメルセンヌ素数の探索に終始された。

2p−1(2p − 1) は明らかに偶数であるが、偶数の完全数でこの生成式から得られるもの以外はないのか2000年間にわたって未解決であったが、18世紀オイラーによりこの形に限ることが証明された[4]

メルセンヌ数の素因数

p を素数とする。

  • Mp の素因数は 2p を法として 1 と合同[6]、かつ 8 を法として 1 または −1 と合同である[7]
  • p ≡ 3 (mod 4) のとき、Mp2p + 1 で割れることと、2p + 1 が素数であることは同値である[7]
  • ある計算可能な正定数 c が存在して、Mp の最大素因数を q について、qcp log p [8]

メルセンヌ素数

メルセンヌ素数(メルセンヌそすう、Mersenne prime)とは、素数であるメルセンヌ数のことである。

2022年2月現在知られている最大のメルセンヌ素数は、2018年12月に発見された、それまでに分かっている中で51番目のメルセンヌ素数 282589933 − 1 であり、十進法で表記したときの桁数は2486万2048桁に及ぶ[GIMPS 1]

メルセンヌ素数の発見の歴史

古代~中世

メルセンヌ素数の探求は紀元前3世紀ごろに端を発する。古代エジプトの数学者エウクレイデスは『原論』の中で、「2n − 1 が素数ならば、2n − 1(2n − 1)完全数である」ことを証明した[9]。ここから、メルセンヌ素数の探索は完全数の探索にも繋がることとなる[10][注釈 2]

小さいメルセンヌ素数がいつから知られているかは定かではないが、少なくとも最初の4つの完全数はゲラサのニコマコスの『算術入門』ですでに言及されている[11][12]。5番目から7番目の完全数は、13世紀イスラムの数学者イブン・ファッルース (fr:Ibn Fallusが論文に記している[13]。ヨーロッパでは、5番目の完全数が1456年と1461年の日付が付された古い写本に記されて[14][15]おり、6番目と7番目のメルセンヌ素数および完全数も1603年ピエトロ・カタルディ(: Pietro Cataldiによって発見されている[13]

メルセンヌの予想

メルセンヌの予想の表: p ≦ 263
〇:Mpが素数の場合/×:Mpが合成数の場合
水色が正解ピンク色が間違いを示す[16]
p235711131719
Mp×
p2329313741434753
Mp×××××××
p5961677173798389
Mp××××××
p97101103107109113127131
Mp××××××
p137139149151157163167173
Mp××××××××
p179181191193197199211223
Mp××××××××
p227229233239241251257263
Mp××××××××

1644年マラン・メルセンヌは「素数 p2p − 1 が素数になるのは、p ≦ 257 では p = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257 の11個の場合だけである」という予想を公表した[13][17]。しかしメルセンヌ自身はその予想を証明することができず、しかもその予想の一部は誤っていた。

成果を見るのはメルセンヌが予想を公表してから128年後、1772年オイラーp = 31 では素数)[2][18]。その次の成果はさらに104年後、1876年リュカ(効率的な素数判定法リュカ・テスト英語版を考案、p = 67 では素数でない、p = 127 では素数[2][19])であった。その後リュカ・テストは改良が加えられ、メルセンヌが予想した範囲にない3個が付け加えられた(p = 611883年)、p = 891911年)、p = 1071914年))。メルセンヌが予想した最後の数 p = 257 について決着がついたのは1922年のことであり、 p = 257 も合成数だった[2][20]

結局メルセンヌの11個の予想のうち2つは外れた。なおかつ、間に予想できなかった3つが含まれていたことを考えれば予想は正しかったとはいえないが、その後の歴史を見ても大きな原動力となり先駆的であったことに敬意を表し、素数であるメルセンヌ数をメルセンヌ素数という[要出典]

1903年10月、アメリカの数学者フランク・ネルソン・コールは実際の素因数分解を探し求め、ニューヨークで開かれたアメリカ数学会の会議で 193707721 × 761838257287 を黒板に計算し、M67 と一致することを証明した。この間一言もしゃべらず、席に戻った後、少し間を置いて拍手が沸き起こったと伝えられている[21]

1952年、ラファエル・M・ロビンソンが SWAC を利用して M521 から M2281 まで、5つのメルセンヌ素数を発見[2]して以降、発見にはコンピュータが使用されており、コンピュータの進歩と共に新たなメルセンヌ素数が発見されつつある。

GIMPSによる発見

1996年、メルセンヌ素数を発見することを目的として作られた分散コンピューティングによるプロジェクト GIMPS が発足し、35番目のメルセンヌ素数 M1,398,269(1996年11月13日、Joel Armengaud[GIMPS 2])以来、GIMPSによるメルセンヌ素数の発見が続いている。

2008年8月23日、GIMPS は46番目の素数候補が、カリフォルニア大学ロサンゼルス校の数学部のコンピュータによって発見されたと報じた[要出典]。この素数は電子フロンティア財団が賞金を懸けた1000万桁以上の最初の素数となるため、GIMPS によって同校数学部に50,000ドル、慈善事業に25,000ドル、残りを前の6つのメルセンヌ素数の発見者へ分配することになった[GIMPS 3]

2008年9月6日、GIMPS は45番目の素数候補が、ドイツで発見されたと報じた[要出典]。これは、GIMPS によって発見された中では、発見順序と桁数が逆転した初めてのケースである。

素数判定法

知られている素数の中で最大のものが1876年以降ほぼ一貫してメルセンヌ素数である理由は、この判定法にある[要出典]

リュカ・テスト

p(4j + 3) 型の素数のとき、S0 = 3, Sn = Sn−12 − 2 (n ≥ 1){Sn} を定義すると、

  • ならば、Mp は合成数である
  • ならば、Mp は素数である[22][23][24]
アルゴリズム

アルゴリズムは以下の擬似コードで表される。

入力: p: (4j + 3) 型の素数であるテスト対象の整数出力: PRIME:素数の場合, COMPOSIT:合成数の場合Lucas_Test(p):    var s = 3    var MP = (1 << p) − 1    for n in range(2, p):        s = (s2 − 2) % MP    if s == 0 then:        return PRIME    else:        return COMPOSIT

リュカ–レーマー・テスト

p が奇素数のとき、S0 = 4, Sn = Sn−12 − 2 (n ≥ 1){Sn} を定義すると、

  • ならば、Mp は合成数である
  • ならば、Mp は素数である[25][26][27]

リュカ–レーマー・テストは二進計算機用のアルゴリズムに向いており、コンピュータによるメルセンヌ素数の発見には、この判定法が用いられてきた。例えば、2p ≡ 1 (mod Mp) より、A·2p + BA + B (mod Mp) が成り立つので、Mp で割る割り算の代わりに、二進法で p 桁のシフト演算と足し算だけで計算できる。

アルゴリズム

アルゴリズムは以下の擬似コードで表される。

入力: p:奇素数であるテスト対象の整数出力: PRIME:素数の場合, COMPOSIT:合成数の場合Lucas_Lehmer_Test(p):    var s = 4    var MP = (1 << p) − 1    for n in range(2, p):        s = (s2 − 2) % MP    if s == 0 then:        return PRIME    else:        return COMPOSIT
入力: p:奇素数であるテスト対象の整数出力: PRIME:素数の場合, COMPOSIT:合成数の場合Lucas_Lehmer_Test_FAST(p):    var s = 4    var m = 2p − 1    for n in range(2, p):        var s2 = s × s        s = (s2 & m) + (s2 >> p)        if s >= m then            s = s − m        s = s − 2    if s == 0 then        return PRIME    else        return COMPOSIT

メルセンヌ素数の一覧

2021年10月現在、メルセンヌ素数は51個まで知られている。ただし、メルセンヌ素数としての番号が確定しているものは48番目までであり、

p = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, 3217, 4253, 4423, 9689, 9941, 11213, 19937, 21701, 23209, 44497, 86243, 110503, 132049, 216091, 756839, 859433, 1257787, 1398269, 2976221, 3021377, 6972593, 13466917, 20996011, 24036583, 25964951, 30402457, 32582657, 37156667, 42643801, 43112609, 57885161オンライン整数列大辞典の数列 A000043

における Mp がそうである。さらに49, 50, 51番目の候補として p = 74207281, 77232917, 82589933 が挙がっており、間に素数がないかどうか検証中である。

メルセンヌ素数は小さい順番から並べると

3, 7, 31, 127, 8191, 131071, 524287, 2147483647, ... (A000668)

となる。

#pMp
桁数
発見日発見者
121紀元前500年?[28]
231紀元前500年?[28]
352紀元前275年?[28]
473紀元前275年?[28]
51341456年[10]不明[10]
61761603年[13]ピエトロ・カタルディ英語版
71961603年[13]ピエトロ・カタルディ
831101772年レオンハルト・オイラー
961191883年イヴァン・パヴシン英語版
1089271911年R・E・パワーズ英語版
11107331914年R・E・パワーズ[29]
12127391876年エドゥアール・リュカ
135211571952年1月30日ラファエル・M・ロビンソン英語版, 使用:SWAC
146071831952年1月30日ラファエル・M・ロビンソン
151,2793861952年6月25日ラファエル・M・ロビンソン
162,2036641952年10月7日ラファエル・M・ロビンソン
172,2816871952年10月9日ラファエル・M・ロビンソン
183,2179691957年9月8日ハンス・リーゼル, 使用:BESK
194,2531,2811961年11月3日アレクサンダー・フルウィッツ, 使用:IBM 7090
204,4231,3321961年11月3日アレクサンダー・フルウィッツ
219,6892,9171963年5月11日ドナルド・ギリース, 使用:ILLIAC II
229,9412,9931963年5月16日ドナルド・ギリース
2311,2133,3761963年6月2日ドナルド・ギリース
2419,9376,0021971年3月4日ブライアント・タッカーマン英語版, 使用:IBM 360/91
2521,7016,5331978年10月30日ランドン・カート・ノル英語版 & ローラ・ニッケル, 使用:CDC Cyber 174
2623,2096,9871979年2月9日ランドン・カート・ノル
2744,49713,3951979年4月8日ハリー・ネルソン & デイヴィッド・スローウィンスキー英語版
2886,24325,9621982年9月25日デイヴィッド・スローウィンスキー
29110,50333,2651988年1月28日ウォルター・コルキット & ルーク・ウェルシュ
30132,04939,7511983年9月19日[28]デイヴィッド・スローウィンスキー
31216,09165,0501985年9月1日[28]デイヴィッド・スローウィンスキー
32756,839227,8321992年2月19日デイヴィッド・スローウィンスキー & ポール・ゲイジ英語版 使用:Harwell Lab Cray-2[30]
33859,433258,7161994年1月4日[31]デイヴィッド・スローウィンスキー & ポール・ゲイジ
341,257,787378,6321996年9月3日デイヴィッド・スローウィンスキー & ポール・ゲイジ[32]
351,398,269420,9211996年11月13日GIMPS / Joel Armengaud[GIMPS 2]
362,976,221895,9321997年8月24日GIMPS / Gordon Spence[GIMPS 4]
373,021,377909,5261998年1月27日GIMPS / Roland Clarkson[GIMPS 5]
386,972,5932,098,9601999年6月1日GIMPS / Nayan Hajratwala[GIMPS 6]
3913,466,9174,053,9462001年11月14日GIMPS / Michael Cameron[GIMPS 7]
4020,996,0116,320,4302003年11月17日GIMPS / Michael Shafer[GIMPS 8]
4124,036,5837,235,7332004年5月15日GIMPS / Josh Findley[GIMPS 9]
4225,964,9517,816,2302005年2月18日GIMPS / Martin Nowak et al.[GIMPS 10]
4330,402,4579,152,0522005年12月15日GIMPS / カーティス・クーパー英語版, Steven Boone[GIMPS 11]
4432,582,6579,808,3582006年9月4日GIMPS / カーティス・クーパー, Steven Boone[GIMPS 12]
4537,156,66711,185,2722008年9月6日GIMPS / Hans-Michael Elvenich[GIMPS 3]
4642,643,80112,837,0642009年4月12日GIMPS / Odd Magnar Strindmo
4743,112,60912,978,1892008年8月23日GIMPS / エドソン・スミス[GIMPS 3]
4857,885,16117,425,1702013年1月25日GIMPS / カーティス・クーパー[33][GIMPS 13]
[* 1]74,207,28122,338,6182016年1月7日GIMPS / カーティス・クーパー[GIMPS 14]
[* 1]77,232,91723,249,4252017年12月26日GIMPS / Jonathan Pace[GIMPS 15]
[* 1]82,589,93324,862,0482018年12月7日GIMPS / Patrick Laroche[GIMPS 1]

未解決問題

  • メルセンヌ素数は無数に存在するか?
  • 素数 p に対して Mp が合成数であるとき、これをメルセンヌ合成数と呼ぶことにして、それは無数に存在するか?
  • 平方因子を持つメルセンヌ数 Mpp は素数)が存在するか?
  • n を奇数とするとき、次の3つの条件のうち2つが満たされれば、残りの1つも満足されると予想されており、n < 105 に対してこの予想は正しいと確認されている[34]
  1. Mn が素数
  2. n = 2k ± 1 または 4k ± 3
  3. (2n + 1)/3 が素数

脚注

注釈

出典

GIMPS

参考文献

関連項目

外部リンク