日曜数学 Advent Calendar 2021 の17日目の記事です。
今日は
という数について考えたいと思います。
この数、桁数が 44桁 もある巨大な数なのですが、なんと 素数 であることが分かっています。
1951年に素数であることが証明されたのですが、面白いことに
という二つ名がつけられています。そう聞くとなかなか興味深く思えてきますよね! 一体どのようにして証明されたのでしょうか!?
今日は、この数が素数であることを判定する、Ferrier(以降、フェリアーと呼ぶことにします *1)による方法を紹介したいと思います。
「素数である」という事実は後で紹介するWikipediaにも書いています。しかいながら、素数であることを証明する方法は、インターネット上を探してもなかなか見つかりません。今回、色々頑張って参考になる本を見つけたので、その内容をベースに紹介したいと思います。
たとえば、以下のサイトで "20988936657440586486151264256610222593863921" を判定してみてください。
tsujimotter.info
実際、このような結果が出て、素数であることがわかるでしょう。
なお、ミラーラビン法は厳密に言えば「確率的素数判定法」であり、上記の判定も(非常に低確率ですが)誤りである可能性があります。一方で、ミラーラビン法の前身である「ミラー法」であれば(一般化リーマン予想の仮定の下で)確定的に判定できます。このぐらいの桁数であれば、数秒もあれば判定できます。(実際にやってみました。)
ところで、ミラーラビン法の元となったミラー法は1976年に提案されていますので、フェリアーの1951年当時には存在しなかったことになります。
さらにいえば、コンピュータだったからこそ一瞬だったわけで、ミラーラビン法を手計算や機械式計算で行うのは至難の技かと思います。あまりおすすめはしませんが、興味がある方はやってみてください。
目次
きっかけ
Ferrierの素数を知ったきっかけは鈴木貫太郎さんのYouTube動画でした。
www.youtube.com
動画ではこの数の桁数を求める計算を行っていましたが、そのコメント欄に次のようなことが書かれていました:
『この数は「電子計算機を用いずに導かれた最大の素数」としてちょっと有名な数だそうですね。』
気になって調べてみると、たしかにWikipediaにもそのようなことが書かれています!
ja.wikipedia.org
これは面白い!
どういう経緯で、そしてどんな方法でこの大きな素数を素数だと判定できたのでしょうか。気になって調べてみたというのが今回の記事の経緯です。
単に素数判定といってもそれほど簡単なわけではなく、本当にさまざまな道具・定理が登場します。とても面白いので、ぜひ最後までご覧ください。
巨大な素数発見の歴史
フェリアーの素数の位置付けを理解するために、巨大な素数発見の歴史を簡単にまとめてみましょう。関連する歴史については、以下のページに詳しく書いてありました。
フェリアー以前の話です。まず、1876年にリュカが
という 39桁 の素数を発見しています。この数は、いわゆるメルセンヌ数と呼ばれるタイプの数になっていて、このタイプの素数を(高速に)判定できるリュカテスト(リュカ本人が発明)が用いられました。
そこから75年もの間、この数が人類が発見した最も大きな素数であり続けました。
1951年の5月〜6月にかけて、突破口が訪れます。ミラーとホイーラーによって 41桁と42桁 の素数が立て続けに 11個 も発見されたのです。
そのときに使われたのが、EDSAC と呼ばれる「世界初の(実用的な)プログラム内蔵方式の電子計算機」でした。まさにコンピュータの時代の幕開けといったところでしょうか。
Copyright Computer Laboratory, University of Cambridge.
一方、面白いことに同じ年である1951年に、フェリアーが冒頭で紹介した
を発見しました。これは 44桁 の素数でした。
さらにほぼ同時期に、ミラーとホイーラーによって今度はなんと 79桁 の素数が発見されました。
怒涛の勢いで最大素数が発見されています。同じ1951年に、75年間更新されなかった最大素数の記録が、これほどまでにたくさん更新されたというのはすごいことでえすね。1951年は、巨大な素数発見の歴史において大豊作の年だったというわけです。
これらの素数の発見の順序は、あまり明確ではないようなのですが、どうも次のような順番だったようです。
- ミラーとホイーラー41桁・42桁
- ミラーとホイーラー79桁
- フェリアー44桁
つまり、ミラーとホイーラーが最大の座を常に先行しており、フェリアーが最大素数の座につくことはなかったことになります。本来ならばフェリアーの素数が最大素数の記録に残ることはないはずでした。
ところが、ミラーとホイーラーは79桁の素数を発表した際に、フェリアーの発見した44桁を付記した上で、どちらも7月初旬に見つけたと発表したのです。これがフェリアーの素数が最大素数の記録に載ることになった経緯です。
このように、たまたま巨大素数の発見の歴史に名を連ねたフェリアーの素数ですが、実はまた別の理由によっても注目を集めています。彼の素数は 「電子計算機」を用いずに計算された という経緯があるからです。
ここでいう「電子計算機を使わない」という意味ですが、機械式計算機で計算されたことを意味します。いわゆる手回し計算機ですね。
私物の機械式計算機です
しかしながら、フェリアーの素数ほどの巨大な素数を判定するのに、電子計算機が使われていないというのは、基本的に電子計算機を用いて素数探索が行われている現代においては驚きの成果と言えます。
これ以降も「電子計算機を使わないで発見された最大の素数」の記録は更新されていません。今後これを抜く素数は現れないのではないかと思われます。
道具その1:Pocklingtonの定理
それでは、実際にフェリアーの素数を判定する方法について説明したいと思いますが、そのために必要な道具を 2つ 紹介します。
1つめの道具はPocklingtonの定理です。
その前に、まず基本的な判定方法として、フェルマーテスト と呼ばれる方法について説明します。
を素数とします。 と互いに素な任意の整数 に対して
が成り立つ、というのがフェルマーの小定理でした。
逆に、 を正の整数として、 未満の をランダムにいくつか取り
がいずれの でも成り立たないのであれば、 は素数「だろう」と判定するのがフェルマーテストです。
が成り立つ が一つでもあれば、(フェルマーの小定理の対偶により)合成数であることが確定します。
一方で、フェルマーの小定理の逆
は必ずしも成り立ちません。
たとえば、 という数は互いに素な任意の について条件を満たしますが、 となり素数ではありません。こういう数を、カーマイケル数と言ったりしますね。
ここで、どういう条件を加えたらフェルマーの小定理の逆が成立するのか?という問題が生まれます。
この問題に対して、一つの面白い条件を与えるのが Pocklingtonの定理 です。
もし、ある整数 が存在して
が成り立つならば、 の素因数 は の形に限定される。
条件がたくさんあるので複雑な主張に見えますが、1個ずつ条件を考えれば理解できるかと思います。
まず、フェルマーテストの条件
が入っていますね。
あとは、 の素因数 を考えて、それが
という付加条件を満たすのであれば、 の素因数 は
という形に限定されるというわけです。( は が を割り切る回数に一致する。)
あとは、この として、 未満のものが存在しないことがわかれば(もっというと、 以下まで考えれば良い)、 が素数であることが判定できるわけです。
の素因数を直接考える代わりに、 の素因数 を考えているのが面白いですね。 の素因数分解が難しくても、 の分解は比較的容易にできる、というケースはあります。実際、あとでやるように、フェリアーの素数がそのような形になっています。
それでは、Pocklingtonの定理を証明しましょう。
を の素因数とする。ここで、 を の における位数とする。つまり、 を
を満たす最小の とする。
一方で、 の条件 より、 をとると
が成り立つ。したがって、位数の最小性により が成り立つ。
ここでもし が も割り切るのであれば、 になるが、これは条件 に反する。したがって、 が成り立つ。
つまり
が言えた。このことは
を意味する。
また、フェルマーの小定理より
が成り立つので である。したがって、 である。
以上から、 と表せることが示された。
道具その2:Legendreの定理
今回証明したいのは、 という形の数の素数性です。これを議論するためには、 の素因数が と だけであることを示す必要があります。
ここで、 という数は
という形をしています。
というタイプの数について、素因数の形についての情報を教えてくれるのがLegendreの定理です。
さて、この形の数は、 を変数と思ったときの「多項式の因数分解」を使って素因子のヒントを割り出すことができます。
たとえば のときは、よく知られているように
と分解できますね。 の方はこれ以上は( 上では)分解できません。(つまり、既約というわけです。)
より一般に、 と表すと は
と分解されます。
一方、( は奇数)と表せるとき は
と分解されます。
ただし、2番目の方は が奇数という条件が付いていることに注意します。そうでないと、右辺の符号を に交互に置いたときに不整合が起きてしまうからです。
したがって、 という数が、多項式の中で分解ができるのであれば、 の素因数 はその分解されたいずれかの因子を割ることになるわけです。多項式の分解によって得られる因子のことを 代数的因子 と呼ぶことにしましょう。
さてこのとき、Legendreの定理は次のような定理です。
- (ただし、 は整数)
- の代数的因子であって、()の形のものを割り切るような である
(ii) とし は互いに素であるとする。 を の任意の素因数とすると、 は次のいずれかとなる:
- (ただし、 は整数)
- の代数的因子であって、()の形のものを割り切るような である
(i) のケースだけ証明する((ii)の方もほぼ同様に進む)。
()と仮定し、 を の素因子とする。すると
と表せる。このとき、 ならば でもあり、したがって である。
したがって、 より であるから、 である。 より、 をかけて
である。 とおくと
である。
ここで、 の における位数を とする(つまり、 なる最小の をとる)。フェルマーの小定理より であるから、 がいえる。よって なる が存在する。
ここで、 より であるから、同様に であるから である。もし仮に、 が偶数であれば、 として となり、これは かつ に反する。ゆえに、 は奇数である。
したがって
と表せる。
さらに、もし仮に だとすると、 となり は における の位数であるから であり、 より
である。これは が「代数的因子 」を割り切るパターンである。
一方、 とすると
であり、これは を導く。
本題:フェリアーの素数が素数であることの証明
それでは本題の証明にいきましょう。つまり
が素数であることを証明しましょう。以下、 と書いたらこの数を表すことにします。
初手からどうしたらよいか悩むと思いますが、Pocklingtonの定理を適用するために を計算するのが上手いやり方です。
最初にこれを見たときは「うわー、なるほどー、まじかー、その手があったかー」という感想でした。自力で証明しようと思ったときは、まったく思いつかなかったので、こんなうまいこと分解できるものなのかと感心しましたね。
Pocklingtonの定理を使うためには、 の素因数が必要になるわけですが、これが か か のいずれかの約数であることが分かってしまうわけですね。
の「大きめの素因数」を探すために、 か の中の素因数を探索したいと思います。
結論をいうと、 の素因数として
が見つかります。しかし、いったいどうやってこれを見つけたのか、そしてこれが素数であることがわかるのか・・・。
を見つけるのはLegendreの定理を使えばできそうです。しかしながら、 が素数であることについては、正直なところよい方法がわかりません。このことについては、記事の最後で補足的に議論したいと思います。ここではいったん先に進みましょう。
さて、これにて が、互いに素な因数 を用いて
と書けることが分かりました。
ここで、 を用いると
が成り立つそうです。(いったいどうやって示す?)
また、フェリアーは
であることも示しました。(いったいどうやって示す?)
式 から
であることが、枠内の議論によって導かれます。
として を導きます。
約数の定義より
が成立します。前者より
が成り立つわけですが、この両辺を 乗して
すなわち
が成立します。このことは
を意味しますが、式 よりこれは でしかありえません。
式 、かつ、式 、つまり
が成立することから、 としてPocklingtonの定理の仮定を満たします。
したがって、 の任意の素因数 は
の形に限定されることが分かりました。
はかなり大きな数なので、このような形にできたのは大きいですね。
さて一方、 を 倍した は、 として
のように表せます。今考えたいのは の 以外の素因子です。これはLegendreの定理が使える形になっていますので、式 の代数的因子を考えます。
まず、指数について と表せますので、( は奇数)の形の非自明な分解を考えると、
の形しかありえません。そこで
なる分解を考えます。このとき なので、 が代数的因子 の素因子となります。(この場合は 自身が に一致するケース。)
それ以外の素因子 は、Legendreの定理により必ず
の形に限定されます。
つまり、式 と式 によって、 の任意の素因数 は
の形で表せるということがわかったわけです。
と は互いに素なので、中国剰余定理より
と表せることがわかりました。ここで、 です。
式 の を を変数と見て と表します。
すると、 は素数ではありません。しかもありがたいことに、結構小さな素数で割り切れます。
実際、次のように、 以下の素数で割り切れます:
したがって、 の素因数 が存在するとしたら、それは 以上ということになります。つまり
ということですね。
最後に、素因数分解の フェルマー法 という方法を使います。
の非自明な素因数 があるとき と表せます。ここで、(つまり、 ということ)と仮定しておきます。このような素因数が存在すると仮定して、矛盾を導きます。
が奇数であれば、 も も奇数です。したがって両者の和も差も偶数です。よって
とおくと、これは整数であり
とできます。
すなわち
と表せます。
ここで
です。 を最小の素因子とすると、式 と合わせて
が成り立ちます。したがって
が得られます。
一方で、 の因子である と は、式 よりどちらも 型の数でなければなりません。( は合成数かもしれませんが、その素因数はやはり 型なので、結果的に も 型になります。)
したがって、 とおくと、次の計算が成り立ちます:
ここで、 を で割ったあまりを考えると、
となりますが、これが と合同より であることがわかります。これは不等式 の評価 に矛盾します。
したがって、 に非自明な素因数は存在しない、すなわち が素数であることが証明されました。
おわりに
いかがだったでしょうか。一部証明が簡潔していない部分は残りましたが、 が素数であると思えるような根拠は説明できたのではないかと思います。
使った道具もたくさんあって、その意味でも面白かったですね。初等整数論の技術の見本市という感じでした。実際、次のような定理・道具が使われていました:
- フェルマーの小定理
- フェルマーテスト
- Pocklingtonの定理
- Legendreの定理
- 中国剰余定理
- フェルマーの素因数分解法
こんなに面白い数学的な事実を知ることができて、とても楽しかったです。
それでは今日はこの辺で!
P.S.
ちなみに、今回の話を居酒屋で彼女にしたのですが、それがツイートになり、そしてバズりました。笑
お酒飲んでる時に「俺も、酔った勢いで言っていい?」と言われて、どんな話が飛び出すんだろうとドキドキしてたら「今、(2^148+1)/17を素数判定したいと思ってて…」と続いた時の気持ちを11文字でどうぞ
— 二世 (@m_2sei) 2021年12月20日
補足: の素因数分解
途中の議論において、 が素因子として なる大きな素数を持つことを主張しましたが、どうやってそんなことが示せるのでしょうか。
私の力では証明しきれなかったのですが、「もしかするとこういうことなんじゃないか」というアイデアだけ述べたいと思います。
より、 のいずれかに存在する大きな素因子があることを期待して素因数分解します。
なお、下記枠内の議論により、 は共通の素因数を持ちませんので、 が入っているのはどちらか一方です。(実際、 に入っています。)
なので、最大公約数は です。つまり、 と は互いに素。
共通の素因数はありませんので、素因数 が を割り切るならば、 を割り切ることはありません。逆も然りです。
の素因数 を考えたいと思いますが、ここでLegendreの定理を使います。
まず、代数的因子の方ですが、 なので という2通りの分け方ができます。したがって
なる2通りの分解が得られます。ここでさらに の代数的因子を考えると であることも分かります。
よって、 を割り切る素因子と を割り切る素因子の2通りを考えれば良いことになります。
なお、先ほどの議論により前者は で割り切れるので
を考えればよいわけですが、この素因子 も にLegengreの定理を適用することで、 型に限定されることがわかるので、結果として がすぐに見つかります。
問題は、後者の
の方です。Legendreの定理を に適用すると、この数の素因子 は 型に限定されます。
したがって、いくつかの を試せば で割り切れることがわかります。すると
となり、確かに が出てきます。
結果をまとめると
という分解が得られたわけですが、まだ が素数だということは分かりません。
先ほどの議論により、 が割り切れるとすると、その素因子は 型に限定されますので、 までひたすら調べていけば確かに示せるはずですが・・・。そんな面倒なことをやったのでしょうか。。。
参考文献
今回の記事の証明は、基本的にこちらの本の内容を参考にしています。
*1:Ferrierのカタカナ表記については、定番のものはなさそうに思えます。今回はHardy and wrightの本の表記を参考にしました: