
リーマンの素数公式に驚嘆
<素数階段から曲線へ>
オイラーから始まる「素数階段」は、「ガウスの素数定理」によって滑らかな曲線「x/log(x)」で表示されるようになる。
そして、整数x以下の「素数の個数π(x)」が計算で
求められるようになった。
十以下の素数の個数は、「10÷log(10)=4.34」なので「4個」と分かる。
百以下の素数の個数は、「100÷log(100)=21.72」なので
実際の「25」個より少ない。充足率は「0.88」である。
この精度は満足できる値だろうか?
xの値が一億の場合に、その精度に満足できるかどうか。
100000000÷18.42 = 5428881.65 →5428882個
実際の素数の個数は「5761455」個であるので、少なくカウントされていて、充足率(満足度?)は「0.942」である。

<ガウスの素数定理>
さて、本来はx以下の素数の個数を「正確に求める」ことが目的であった。それで、ガウスは素数の出現率を予想して、
素数の個数を求める「素数定理」を発見する。
しかし、ガウスの素数定理は、xが限りなく大きい場合に正確になり、
xが有限値であれば「近似値」になる。
<リーマンの素数公式>
りーマンは「近似値」ではなく、「正確な値」を求める素数公式を探ったのである。
正確な値を示す素数公式をグラフにすれば、当然のことであるが
滑らかな曲線にはならない。
オイラーが想像で描いた「素数階段」こそ
正確な値を示すグラフだと言える。
リーマンは、ガウスが発見した滑らかな曲線を基に、
オイラーが描いたギザギザに見える「素数階段」を生成する
「新しい式」を探り当てる。
それが、次の式である。

主要項R(x)は、ガウスが辿り着いた「対数積分li」を用いたもので、次のような式である。

<主要項を活用してみる>
仮に、百以下の素数の個数を求めるとする。
すると、「log2(100)≒6.64」なので、mの値は「1,2,3,4,5,6」である。
メビウス関数は、mを因数分解して、平方数を含めば「0」で、因数の数が偶数なら「1」、奇数なら「マイナス1」である。
それで、上のmに対応するμ(m)の値は「1, -1, -1, 0, -1, 1」である。
なお、「100^(1/2)=10」、「100^(1/3)≒4.6」、
「100(^1/5)≒2.1」、「100^(1/6)≒1.67」として
対数積分の値を求めると次のような計算になる。

なんと主要項の計算だけで、実際の素数の個数である「25」個に
かなり近づいている。
しかも、主要項の中の最初の三つの和だけでも
「25.78」となり、収束が早いことが分かる。
一つの計算だけでも、リーマンの式の凄さを感じることができる。
ちなみに、「2~11」の主要項を計算してみると、次のようになる。 R(2)=1.05, R(3)=2.17, R(4)=2.45, R(5)=2.96,
R(6)=3.42, R(7)=3.85, R(8)=3.90, R(9)=4.25,
R(10)=4.59, R(11)=4.92,
結果は、「四捨五入すれば、ほぼ実際の素数の個数」に等しい
ことが分かる。
<振動項で補正>
このように、驚くほど「実際の素数の個数(実素個数)」に近い値を生成する「主要項R(x)」であるが、リーマンは満足しない。
さらに、「実素個数」に迫るための補正を行う。
その一つが「振動項」である。
振動項には、実数の他に「複素数」が登場する。
しかも、「リーマン予想」で「ゼータ関数の非自明な零点」と呼ばれている複素数である。
零点(pk)は、次のように絶対値が小さい方から順に番号が付いている。
P1=1/2+b1 i=1/2+14.1347・・i
P2=1/2+b2 i=1/2+21.0220・・i
P3=1/2+b3 i=1/2+26.0108・・i
Pk=1/2+bk i=1/2+ ・・・・・i
振動項の一つは次のように示される。
上の式がリーマンの式であり、下の式はその変形である。

<振動項を活用してみる>
例えば、「x=100」とすると、百以下の素数の個数は、
π(100)≒R(100)+{T1(100)+T2(100)+T3(100)・・・}となる。
そして、R(100)≒25.78であるから、振動項を計算すると、
さらに精度が増すことになる。
まず、「T1(100)」を、変形された式を用いて計算してみる。
すると、結果は約「−0.30」で、百以下の素数の個数は「25.48」となり、
確かに精度は増すことになる。
同様に「T2(100)」を計算してみると、その結果は「−0.0146」で、
さらに精度が増すことが分かる。
同様に、「T3(100)」、「T4(100)」、「T5(100)」、・・・と求めることによって、「ますます精度は増す」というのがリーマンの主張である。
ちなみに、「T2(100)」の計算を示しておく。

<リーマンはどのような経路で公式に辿り着いたか>
オイラーの「素数階段」からガウスの素数定理までの流れは
「初等的で」高校生にも理解できる。
しかし、メビウス関数の意義や、ゼータ関数、そして複素数である「零点」の意義となると驚嘆するばかりである。
それで、リーマンはどのような過程を経て「素数公式」に
辿り着いたのか、概観してみたい。
1859年、33歳のリーマンは、素数階段について次のように考えた。
素数階段はグラフであり、不連続点で階段を一段あがる。
x以下の素数の個数をπ(x)とすると、「x=2」の点Aは不連続点である。
π(2)の値は「1」になるのが常識かも知れない。
しかし、不連続点Aのすぐ左隣は「0」であり、
すぐ右隣は「1」である。
それなら、不連続点Aの値(階段の高さ)を平均値の「0.5」に定める
ことにすると・・・。
そんな考えから、リーマンは仮の階段を次のように定める。
「π(1)=0」、「π(2)=0.5」、
「π(3)=1.5」、「π(4)=2」、・・・とする。
つまり、次図の緑のような階段を考える。

点Aは「0と1の平均」であり点Bは「1と2の平均」でめる。
すると、この仮想階段の式は次のように表せる。

この式は、次のように変形されることもある。

j(1)の値は、「1」以下の素数pは無いので「0」となる。
j(2)の値は、「2」以下の素数pは「2」だけなので「1」。
j(3)の値は、「3」以下の素数は2個なので「1+1=2」。
j(4)の値は、「4」以下の素数は2個で、さらに、
「4=2^2」なので「1+1+1/2=5/2」となる。
j(5)の値は、「5」以下の素数は3個なので「1+1+1=3」。
j6)の値は、「6」以下の素数は3個なので3のまま。
つまり、上図の赤線がj(x)のグラフになる。
これらの仮の階段式がスタートである。
<補助関数を定める>
次に、補助関数を次のように定める。

そして、1831年にメビウスが発表した「メビウス反転公式」を
リーマンは活用する。(例示すると・・)
それは、関数fで表される関数gを、メビウス関数を介して、
gで表す関数fに反転せるものである。

それで、補助関数をメビウス反転させてみると次のようになる。

<ゼータ関数の意義>
次に、ゼータ関数が必要とされる理由である。
素数を求める方法の「エラトステネスの篩」は
古代ギリシャ時代から伝わる方法である。
集合Aを{1,2,3,・・,100}とすると、素数2の倍数は素数でないので、(1/2)×100=50個が2の倍数になる。
残りの奇数50個:「(1−1/2)×100」に2以外の素数が存在する。

その残りの50個から、素数3の倍数を除くと、(1/3)×50≒16.7により「50−17=33」個だけが残る。(百以下で上図の赤い斜線が17個)
その残りの33個:「(1−1/2)(1−1/3)×100」から、素数5の倍数を除くと(1/5)×33=6.6により、「33−7=26」個だけが残る。
その残りの26個:「(1−1/2)(1−1/3)(1−1/5)×100」から、
素数7の倍数を除くと(1/7)×26≒3.7により、「26−4=22」個だけが残る。
→(1−1/2)(1−1/3)(1−1/5)(1−1/7)×100≒22
そして、その22個の中には、2、3、5、7の倍数でない「1」が含まれているので除くと21個が残る。
その21個は素数であり、2、3、5、7と合わせると、百以下の素数の個数は25個になる。
まとめて整理すると、百以下の素数の個数をπ(100)とすると、π(√100)=π(10)=4であり、・・・
π(100)=(1−1/2)(1−1/3)(1−1/5)(1−1/7)×100 −1 +π(√100)
<見えてきたゼータ関数>
ゼータ関数には、いろいろな表現がある。
最も基本となるのは次のような「全自然数n」を用いた「和表現」である。
→ ζ(s)=1/1^s+1/2^s+1/3^s+1/4^s+・・・
また、次のような「全素数p」を用いた「積表現」である。
→ 1/ζ(s)=(1−1/2^s)(1−1/3^s)(1−1/5^s)・・・
他にガンマ関数を用いた表現などがある。
ここでは、「全素数p」を用いた「積表現」のゼータ関数が出現している
ことが確認できれば十分である。
→ 1/ζ(1)=(1−1/2)(1−1/3)(1−1/5)・・・
<式の変形>
また、「全自然数n」を用いた「和表現」は次のように変形できる。

それで、両辺の対数をとると次のようになる。
→ logζ(s)=slog(1/1)+slog(1/2)+slog(1/3)+slog(1/4)+・・・
この式からリーマンは次の式を導く。

そして、この式にメリン変換の反転公式を適用することで、
リーマンは補助関数P(x)の式に辿り着いたという。

そして、最後は次のような目的のπ(x)の式の完成である。

<ゼータ関数の全体像は?>
℗
それにしても、リーマンは何故ゼータ関数を「解析接続」をして、
複素数まで拡張したのか。
非自明な零点が、どうしても必要になり、それを求める中から
「リーマン予想」が発見された。
りーマンの素数公式に至る経緯を概略してみたが、「非自明な零点が必要だ!」と見抜いたリーマンの直感と経緯については全く理解できていない。
確かに、主要項だけでは、π(x)のグラフは「よい近似値」を与えるが、ギザギザの階段にはならない。
そこで、必要となるのが振動項である。その振動項に非自明な零点が出現する。何故だろうか?
ゼータ関数の全体像に迫る必要がある。