双子素数はどの程度の割合で存在するか?

今回は、ひさびさに、数学ネタをエントリーしよう。それは「双子素数」に関することだ。

双子素数とは、差が2の素数のペアのこと。一番最初は、3と5だ。次は5と7。その次は11と13になる。双子素数について最も有名な予想は「双子素数予想」と呼ばれるもので、「双子素数は無限組存在する」という予想である。これは多くの数学者が成り立つだろうと信じているけど、いまだに証明されていない。(この予想については、最近、急激な進展があったのだが、そのことはあとで触れる)。

素数が無限個ある」という事実は、古くから知られていて、ギリシャ時代の『ユークリッド原論』に証明が書いてあるぐらいだ。いまでは中学生でも証明できる。(証明を知らない人は、拙著『素数ほどステキな数はない技術評論社で知りましょう!)。ちなみに『ユークリッド原論』に書いてある証明はピタゴラスによるものだろうと考えられているそうだ。それに対して、「双子素数予想」のほうはとてつもなく難しい。素数がペアになるだけで、とんでもない難問になってしまうのだね。

双子素数x以下に何組ぐらい存在するか、についての評価式を手に入れた最初の数学者はブルンという人だ。彼は「ブルンの篩(ふるい)」と呼ばれる方法を用いて評価式を得た。ブルンの証明を知りたくて何冊もの専門書(解析的数論という分野)を手にしたけど、どの本を読んでもわかり難くくて、いつも挫折を余儀なくされてきた。ところが、最近入手したKevin Broughan『Bounded Gaps Between Primes』という本で、初めてわかりやすい解説に出会うことができた。なので今回は、この本に書いてある証明をおおまかに要約しようと思う。

ぼくはこの本をKindleで買ったんだけど、Kindleでは一部の数式が(なぜだか知らないが)とても小さいポイントになってしまっていて、異様に読みづらいことを付記しておく。

 この本は、「双子素数予想」に関して、古典的な結果から最近の進展までについて解説している。「GPYの定理」や、ザン・イータン(Zhan Yitang)による画期的ブレークスルー、そして最新のメイナードの定理まで網羅されていてすごい。ザン・イータンは「差が7000万以下の素数の組は無限に存在する」を示した。そして、メイナードが「差が246以下」まで改良したのだ。「差が2」まで改良できれば「双子素数予想」に到達できる。

ちなみに、この本によれば、「双子素数予想」がユークリッド時代から知られていたというのは俗説で、根拠がないそうだ。この予想への最初の言及は、1849年のポリニャックによるものとのことである。

 そして、この本の第2章は「The Sieves of Brun and Selberg」(ブルンの篩とセルバーグの篩)となっている。「篩(ふるい)」とは、要するに、ある種の性質の数を含むできるだけ少数の数集合を作り出し、その要素数を評価することだ。例えば、「10以上x以下の素数を全部含む集合」として、「10以上x以下の自然数から2の倍数、3の倍数、5の倍数、7の倍数を取り除いた集合」A_xを作る。これは(143=11×13など)素数でない数ももちろん含むが、10以上x以下の素数すべてを含んでいて、10以上x以下の自然数全体よりはだいぶ小さい集合である。集合A_xの要素数を正確にカウントする、あるいは評価することができれば、10以上x以下の素数の個数をおおざっぱに見積もることができる。ちなみにこの「篩A_x」は「エラトステネスの篩」と呼ばれるものだ。(エラトステネスはギリシャ時代の数学者)

Kevin Broughan『Bounded Gaps Between Primes』には、ブルンとセルバーグの履歴が書いてある。セルバーグは有名な数学者だが、ブルンについての書籍での記述は初めて見た。

ブルンは1885年生まれで1978年没のノルウェー人。ゲッチンゲン大学ヒルベルト、クライン、ランダウに師事したとのことだ。ノルウェートロンハイムの大学に勤務後、オスロ大学に移った。セルバーグは、1917年生まれ2007年没で、やはりノルウェーの数学者。プリンストン高等研究所に勤務。生粋の天才であり、すでに高校生のときに論文をパブリッシュしたらしい。ブルンの父親は彼が幼少のときに他界しているが、かたや、セルバーグの父親は数学者で、彼は父親の本から大きな影響を受けたといい、二人の生い立ちは対照的と言っていい。

 ブルンが双子素数について得た結果は次の二つ。

(定理A) x以下の素数pで、p+2素数になるような素数pの個数を\pi_2(x)と置くとき、x \rightarrow \inftyにおいて、\pi_2(x)<<\frac{x(loglog\,x)^2}{(log\,x)^2}

(定理B)  素数pで、p+2素数になるような素数p、の逆数和は収束する。

定理Aは「おお、やっぱりそうか」と思えるものである。有名な「素数定理」によって、「x以下の素数の個数\pi(x)\frac{x}{log\,x}に漸近する」ということが証明されている。これは x \times \frac{1}{log\,x}だから、「十分大きいx付近の数が素数である確率は、 \frac{1}{log\,x}だ」と解釈できる。であるから、「x素数x+2素数である確率は \frac{1}{log\,x} \times \frac{1}{log\,x}=\frac{1}{(log\,x)^2}だ」というおおざっぱな見積もりが浮かび上がる。ブルンの評価では、双子素数の「存在割合」は、その「確率」に(loglog\,x)^2を乗じたものより小さいとしているから、「なるほどね」と頷ける。ちなみに、「素数定理」の証明は前掲の『素数ほどステキな数はない』に概要を書いてあるので、是非ご覧になってほしい。

定理Bがその筋では有名な結果だ。オイラーが「素数の逆数をすべて加え合わせると無限大に発散する」という画期的な定理を証明した。これはもちろん、「素数が無限個あること」の新証明になっているが、素数の分布についてのもっと詳しい情報「素数はそんなに飛び飛びではない」を含んだ画期的な結果である。(前掲の拙著には、この定理のオイラーによる証明とエルデシュによる証明を収録しているので参照されたし←しつこくてすまんがこのブログは販促用なのでご容赦)。ブルンの定理Bは、オイラーの方法では「双子素数予想」が解決できないことを示している。別の言い方をすると、「双子素数は無限組あるとしても、かなり飛び飛びである」ということを教えてくれるのだ。

定理Aから定理Bを証明するのは、わりあい簡単で、『Bounded Gaps Between Primes』では次のように解説している。すなわち、定理Aから、次の評価式が得られる。

\pi_2(x)<<\frac{x}{(log\,x)^{1+\varepsilon}}   (ここで0<\varepsilon<1)。

p_nn組目の双子素数の最初の数(すなわち、x素数x+2素数であるようなxn番目のもの)とすると、\pi_2(p_n)=nとなる。したがって、

 n=\pi_2(p_n)\leq \frac{p_n}{(log\,p_n)^{1+\varepsilon}}

が出てくる。明らかにn \leq p_nだから、

 n\leq \frac{p_n}{(log\,n)^{1+\varepsilon}}

が得られる。これから、

\frac{1}{p_n}\leq\frac{1}{n(log\,n)^{1+\varepsilon}}

という評価が示され、右辺の総和は有限に収束することが(積分によって)わかる。

定理Aの証明は長いので、要点をかいつまむだけにする。大事な道具は2つ。1つ目は、「ブルンの純正篩」と呼ばれるもので、次の補題だ。

補題1(ブルンの純正篩) XN個の要素から成る有限集合とし、A_1,\dots,A_rXの部分集合とする。Xの要素でA_1,\dots,A_rのいずれにも属さないものの個数をN_0と置く。このとき、任意の偶数mに関して、次が成立する。

N+\sum_{j=1}^{m+1}(-1)^j\sum_{|S|=j}|\cap_{i\in S}A_i|\leq N_0 \leq N+\sum_{j=1}^{m}(-1)^j\sum_{|S|=j}|\cap_{i\in S}A_i|

この補題は要するに、A_1,\dots,A_rの合併集合に入っていない要素数をカウントするもの。A_1,\dots,A_rのうちのいくつかの部分集合の共通部分を足したり引いたりする、いわゆる「包除原理」の計算になっている。受験でよく出る「100までに3の倍数でも5の倍数でもない整数はいくつある?」のような問題の解法に現れる計算だ。双子素数でないある種の整数たちを取り除いて、双子素数を含む小さい集合を作りだし、その個数N_0をこの式で評価するのである。

二つ目の補題は以下。

補題2  x>1とする。また、p_1,\dots,p_kを異なる奇素数とする。このとき、|\theta|<1が存在して、 ( xが積p_1\dots p_kで割り切れるなら\theta=0で)、

x以下のnn(n+2)が積p_1\dots p_kで割り切れるようなnの個数」=\frac{2^kx}{p_1\dots p_k}+2^k\theta

この定理の証明には、有名な「中国剰余定理」が利用される。「中国剰余定理」とは、例えば、「3で割ると余りがa、5で割ると余りがbなる数」が「15で割った余りで分類できる」というのを一般化したものである。

さて、この2つの補題は次のように利用される。今、y以下の素数を小さい順にp_1,\dots,p_rとする。また、双子素数のペアの小さい方pyより大きくx以下であるもの(yp\leq xかつp+2素数)の個数を\pi_2(y,x)と定義する。さらに、n \leq xなるnで、積n(n+2)p_1,\dots,p_rのいずれの素数の倍数ともならないnの個数をN_0(y , x)と定義する。さきほどの双子素数のかたわれpは、p+2素数だから、積p(p+2)p_1,\dots,p_rのいずれの素数の倍数ともならず、今のnの定義を満たしている。したがって、\pi_2(y,x) \leq N_0(y , x)が成り立つ。よって、N_0(y , x)を篩として利用すれば良いのだ。そこで、求めたい集合の裏側にあたる集合A_iを「積n(n+2)素数p_iの倍数となるnの集合」と定義して、(補題1)(補題2)を用いれば、N_0(y , x)を不等式で評価することができるのである。詳しくは『Bounded Gaps Between Primes』で勉強してほしい。

これで、中学生時代からの悲願であった「双子素数のブルンの篩による評価」を完全に理解することができた。次は「セルバーグの篩」にチャレンジし、数年以内に、メイナードの結果に到達することを目標としたい。

以上のもろもろの参考として、拙著『素数ほどステキな数はない』を強く推奨する(笑い)。