音楽室と化学室と美術室とPC室の融合部屋 所謂自由室

趣味と気分で適当に色々やります.なんかあるとたまに更新します.

プログラミング初心者でも素数公式を組んでみたい(前編)

時は数年前,意識高かった頃にフェルマーの最終定理・佐藤-テイト予想解決への道

www.iwanami.co.jp

という書籍をわからないながらも読み勧めている時,素数定理というものに出会った.

そこから興味本位で調べていくうちに,この素数定理ゼータ関数リーマン予想の話につながってることがわかったが,まず複素解析自体無縁の生活を送っていたので,とりあえず複素解析なるものの書籍を読むところから始めた.

当初は式の導出にしか興味が無かったけど,せっかくプログラムの環境を整えているのと,式で得られる結果を自分で出力してみたいという気持ちも溢れてきて,組んでみたいという気持ちが出てきた.

しかし実際組んでみた結果だが,一部うまくいかなかったので,一部先駆者のtsujimotterさんがブラウザで動くものを組んでいる記事を書いている解説

tsujimotter.hatenablog.com

も勝手にだが利用させてもらった.

 

 

 

目次

 

素数計数関数 

素数は無限に存在する.それ自体はよく知られた背理法,有限である場合,p_1,p_2,\cdots ,p_nと番号付けするとそれら全てかけた数

p_1 p_2 \cdots p_{n-1} p_n - 1

p_1,p_2,\cdots ,p_nどれでも割り切ることができないし,コレが合成数だと他に素数があり,素数ならそれが新たな素数になる.という方法で示せる.

しかし今のところ素数はランダムに出現するように見えるわけで,素数の出現頻度的なものを推定することが昔のトレンドだった.

リーマンさんは「与えられた数より小さい素数の個数について*1」という論文で近似式を表すためにxまでの素数の個数を表す関数,素数計数関数

\pi(x) = x未満の素数の個数

を定義した.ちなみにx素数のときは

\pi(x) = \frac{\pi(x-0) + \pi (x+0)}{2}

を表す.これはリーマンさんが素数公式を導出する際フーリエ変換の派生(メリン変換という(本記事ではラプラス変換を用いるが))を用いているため,フーリエ変換の性質を表してある.

文字が\piなのはPrimeのPをギリシャ文字に置き換えたからかな?と思う.円周率とはなんら関係がない.

 

素数定理

時の流れは今から500年程前,オイラーさん等の怪物が蔓延ってた時代に

\pi (x) \sim \frac{x}{\log{x}}

という近似が予想された.これが素数定理となるが,後々この素数定理は研究されて対数積分

{\rm li}(x) = \int_0^{x}\frac{1}{\log(t)}dt

を用いると

\pi (x) \sim {\rm li} (x)

と更に精度が良い近似ができることがわかった.

勘の良い人は気づいたと思うが\log{x}自体はx=1で0になるのでx=1\frac{1}{\log{x}}自体は極になる.

ここで

{\rm li}(x) = \int_{0}^{1-\varepsilon}\frac{1}{\log{t}}dt + \int_{1+\varepsilon}^{x}\frac{1}{\log{t}}dt

と解釈をする.この解釈はコーシーの主値と言って

{\rm li}(x) = PV\int_0^{x}\frac{1}{\log(t)}dt

と表記したりもする. 

極を回避した積分

{\rm Li}(x) = \int_2^{x}\frac{1}{\log(t)}dt = {\rm li}(x)-{\rm li}(2)

を補正対数積分といって普通の対数積分と定数しか変わらないのでまぁ近似としてはそんな悪くないんじゃないかな?

 

 リーマンの素数公式

その素数定理を証明しようとリーマンさんは複素解析を駆使して素数の個数を定式化した.結果的には大問題に阻まれてできなかったけど,かなり大きく進展したのも間違いない.

それにはオイラーさんが導出した,ゼータ関数オイラー積を用いている.

 

オイラー

オイラーさんはゼータ関数

\zeta(s) = \sum_{n=1}^{\infty}\frac{1}{n^s}

について

\zeta(s) = \prod_{p=prime}\frac{1}{1-p^{-s}}

という公式を導出した.

これはs\gt 1のときに絶対収束するので和の順序交換ができるため,s\gt 1のときという前提でゼータ関数

\zeta(s) = 1 + \frac{1}{2^s} + \frac{1}{3^s} + \frac{1}{4^s} + \frac{1}{5^s} + \frac{1}{6^s} + \cdots

から2^{-s}をかけたもの

2^{-s}\zeta(s) = \frac{1}{2^s} + \frac{1}{4^s} + \frac{1}{6^s} + \frac{1}{8^s} + \frac{1}{10^s} + \cdots

を引くと

(1-2^{-s})\zeta(s) = 1 + \frac{1}{3^s} + \frac{1}{5^s} + \frac{1}{7^s} + \frac{1}{9^s} + \cdots

ゼータ関数から偶数をとっぱらったものだけが残る.

同様に

(1-2^{-s})\zeta(s) = 1 + \frac{1}{3^s} + \frac{1}{5^s} + \frac{1}{7^s} + \frac{1}{9^s} + \cdots

から3^{-s}をかけたもの

3^{-s}(1-2^{-s})\zeta(s) = \frac{1}{3^s} + \frac{1}{15^s} + \frac{1}{21^s} + \frac{1}{27^s} + \cdots

を引くと

(1-2^{-s})(1-3^{-s})\zeta(s) = 1 + \frac{1}{5^s} + \frac{1}{7^s} + \frac{1}{11^s} + \frac{1}{13^s} + \cdots

ゼータ関数から2の倍数と3の倍数をとっぱらったものだけが残る.

これを全ての素数について適用すると

\zeta(s)\prod_{p=prime}(1-p^{-s}) = 1

になるので

\zeta(s) = \prod_{p=prime}\frac{1}{1-p^{-s}}

が得られる.

 

 オイラー積に対数をつける

得られたオイラー積に対数をつけて計算を行う.

\log{\zeta(s)} = \sum_{p=prime}-\log{(1-p^{-s})}

\log{\zeta(s)} = -\sum_{p=prime}\log{(1-p^{-s})}

ここで\log{1-x}|x|\lt 1)のテイラー展開

\log{(1-x)} = -x - \frac{x^2}{2} - \frac{x^3}{3} - \frac{x^4}{4} - \frac{x^5}{5} -\cdots

を用いると

\log{\zeta(s)} = \sum_{p=prime}\left(p^{-s} + \frac{p^{-2s}}{2} + \frac{p^{-3s}}{3} + \frac{p^{-4s}}{4} + \frac{p^{-5s}}{5} + \cdots\right)

になる.これを整理すると

\log{\zeta(s)} = \sum_{p=prime}p^{-s} + \frac{1}{2}\sum_{p=prime}p^{-2s} + \frac{1}{3}\sum_{p=prime}p^{-3s} + \frac{1}{4}\sum_{p=prime}p^{-4s} + \cdots

と書き換えることができる.

 

素数計数関数の導入

得られた式

\log{\zeta(s)} = \sum_{p=prime}p^{-s} + \frac{1}{2}\sum_{p=prime}p^{-2s} + \frac{1}{3}\sum_{p=prime}p^{-3s} + \frac{1}{4}\sum_{p=prime}p^{-4s} + \cdots

に対して

\frac{a^{-s}}{s} = \int_{a}^{\infty}t^{-s-1}dt

という関係を用いると,

\log{\zeta(s)} = s\sum_{p=prime}\int_{p}^{\infty}t^{-s-1}dt + \frac{s}{2}\sum_{p=prime}\int_{p^2}^{\infty}t^{-s-1}dt + \frac{s}{3}\sum_{p=prime}\int_{p^3}^{\infty}t^{-s-1}dt + \frac{s}{4}\sum_{p=prime}\int_{p^4}^{\infty}t^{-s-1}dt + \cdots

と書き換えることができる.

 この積分

\sum_{p=prime}\int_{p}^{\infty}t^{-s-1}dt

は,積分開始が2,3,5,7,...といったように素数開始なので,素数計数関数を用いて

\sum_{p=prime}\int_{p}^{\infty}t^{-s-1}dt = \int_{1}^{\infty}\pi(t)t^{-s-1}dt

と書き直すことができる.

同様に

\frac{1}{2}\sum_{p=prime}\int_{p^2}^{\infty}t^{-s-1}dt

素数の2乗,4,9,25,49,...を開始地点にしているので,『x平方根未満の素数の個数』と考え

\frac{1}{2}\sum_{p=prime}\int_{p^2}^{\infty}t^{-s-1}dt = \int_{1}^{\infty}\pi(t^{\frac{1}{2}})t^{-s-1}dt

と書き直すことができる.この操作を同様に続けていくと

\frac{\log{\zeta(s)}}{s} = \sum_{n=1}^{\infty}\frac{1}{n}\int_{1}^{\infty}\pi(t^{\frac{1}{n}})t^{-s-1}dt

となる.

これを整理して

\frac{\log{\zeta(s)}}{s} = \int_{1}^{\infty}\left(\sum_{n=1}^{\infty} \frac{1}{n}\pi(t^{\frac{1}{n}})\right)t^{-s-1}dt

新たな関数

\Pi(x) = \sum_{n=1}^{\infty} \frac{1}{n}\pi(x^{\frac{1}{n}})

を導入すると

\frac{\log{\zeta(s)}}{s} = \frac{1}{n}\int_{1}^{\infty}\Pi(t)t^{-s-1}dt

と綺麗にまとまる.

 

メビウス反転公式の導入

メビウス関数

メビウス関数\mu (n)について,

\mu (n) = (-1)^k(nが相異なるk個の素因数の積のとき)

\mu (n) = 0(nが平方数で割り切れるとき)

という関数を考える.

この関数の特徴は,dnの約数のときにd|nと表記するとき

\sum_{d|n}\mu(d) = 1n=1のとき)

\sum_{d|n}\mu(d) = 0n\neq 1のとき)

という特徴があり,nの素因数を

p_1 p_2 \cdots p_N

とする.平方数で割り切れる時は0なので素因数は全て単体になっている.

nの素因数がk個の時,約数dの素因数がrなら(-1)^rになり,d|n全てにわたり足していく場合,素因数がr個になるdの個数はk個の素因数の中からr個選べばいいんだから\binom{k}{r}個存在する.

つまりn\gt 1のとき,二項定理を使って

\sum_{d|n}\mu(d) = \sum_{r=0}^{k}\binom{k}{r}(-1)^r = (1-1)^k = 0

になり,n=1のときは1になる.

 

メビウス反転公式

f(x) = \sum_{n=1}^{\infty}g\left(\frac{x}{n}\right)

という式からgについての式を表すことができて

g(x) = \sum_{n=1}^{\infty}\mu (n)f\left(\frac{x}{n}\right)

になる.

これは

g(x) = \sum_{n=1}^{\infty}\mu (n)f\left(\frac{x}{n}\right)ff(x) = \sum_{n=1}^{\infty}g\left(\frac{x}{n}\right)を代入してみると

g(x) = \sum_{n=1}^{\infty}\mu (n)f\left(\frac{x}{n}\right) = \sum_{n=1}^{\infty}\mu (n)\sum_{m=1}^{\infty}g\left(\frac{x}{mm}\right)

になる.

これは総和をまとめて

g(x) = \sum_{n=1}^{\infty}\sum_{m=1}^{\infty}\mu (n)g\left(\frac{x}{mm}\right)

nm=kとおく.するとnkの約数になるので

g(x) = \sum_{k=1}^{\infty}\sum_{n|k}\mu (n)g\left(\frac{x}{k}\right)

と書き換えることができる.

g(x) = \sum_{k=1}^{\infty}\left(\sum_{n|k}\mu (n)\right)g\left(\frac{x}{k}\right)

とわけてやるとk = 1のときにしか\left(\sum_{n|k}\mu (n)\right) = 1にならず,その他は全て0になるので

g(x) = g(x)

になる.

逆の場合も同様に

f(x) = \sum_{n=1}^{\infty}g\left(\frac{x}{n}\right) = \sum_{n=1}^{\infty}\sum_{m=1}^{\infty}\mu (m)f\left(\frac{x}{mn}\right)\\\\ = \sum_{k=1}^{\infty}\sum_{m|k}\mu(m)f\left(\frac{x}{k}\right) = f(x)

になることがわかり,必要十分であることがわかった.

 

πからΠを求める

メビウス関数の扱い方もある程度わかってきたからそろそろ\piを求めたい.

関数

\Pi(x) = \sum_{n=1}^{\infty} \frac{1}{n}\pi(x^{\frac{1}{n}})

を出したので,ここから\pi(x)の式にすると

\pi(x) = \sum_{n=1}^{\infty}\frac{\mu(n)}{n}\Pi(x^{\frac{1}{n}})

になる.これもメビウス反転公式の導出と似た方法で確認できる.

 

ラプラス変換の導入

こうして新たな関数

\Pi(x) = \sum_{n=1}^{\infty} \frac{1}{n}\pi(x^{\frac{1}{n}})

を用いて綺麗にまとまった式

\frac{\log{\zeta(s)}}{s} = \frac{1}{n}\int_{1}^{\infty}\Pi(t)t^{-s-1}dt

\frac{\log{\zeta(s)}}{s} = \frac{1}{n}\int_{1}^{\infty}\Pi(t)e^{(-s-1)\log{t}}dt

と変形し,\log{t} = u\frac{dx}{x} = duと置換すると,積分範囲は0\to \inftyになるので

\frac{\log{\zeta(s)}}{s} = \frac{1}{n}\int_{0}^{\infty}\Pi(e^u)e^{(-s)u}du

これはラプラス変換

\mathcal{L}(s) = \int_{0}^{\infty}f(t)e^{-st}dt

の式と考えることができ,ラプラス逆変換

f(t) = \frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\mathcal{L}(s) e^{s t}ds

を用いると

\Pi(e^u) = \frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{\log{\zeta(s)}}{s} e^{s u}ds

とまとまり,e^u = xと置換すると

\Pi(x) = \frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{\log{\zeta(s)}}{s} x^s ds 

と綺麗な式にまとめられる.

この置換により,ラプラス変換の仕様上u\geq 0という前提だったものが,x\geq 1という前提に置き換えられる.

 

ゼータ関数因数分解の導入

ゼータ関数のテータ関数を用いた解析接続では

\pi^{-\frac{s}{2}}\zeta(s)\Gamma\left(\frac{s}{2}\right) = \pi^{-\frac{1-s}{2}}\zeta(1-s)\Gamma\left(\frac{1-s}{2}\right)

といった函数等式を得ることができた.

またゼータ関数は解析接続するとs=1が1位の極になり,負の偶数が自明な零点になるので,未知数Caを用いて

\zeta(s) = Ce^{as}\frac{1}{1-s}\prod_{n=1}^{\infty}\left(1-\frac{s}{2n}\right)e^{\frac{s}{2n}}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}}

因数分解できそうで,(ρは非自明な零点の集合とする*2 )ガンマ関数は

\Gamma\left(\frac{s}{2}\right) = \frac{2}{s}e^{-\frac{s}{2}\gamma}\prod_{k=1}^{\infty}\frac{1}{\left(1+\frac{s}{2k}\right)}e^{\frac{s}{2k}}

因数分解できた.

 ここで\xi(s) = \frac{s(1-s)}{2}\pi^{-\frac{s}{2}}\zeta(s)\Gamma\left(\frac{s}{2}\right)という関数を定義すると

\xi(s) = Ce^{as}\prod{\left(1-\frac{s}{\rho}\right)}e^{\frac{s}{\rho}}e^{\frac{s}{\rho}}

とまとめることができる.

これでs=0を代入したらCが得られそうなので,ガンマ関数の性質s\Gamma(s) = \Gamma(s+1)より

\xi(0) = \lim_{s\to 0}\frac{s(1-s)}{2}\pi^{-\frac{s}{2}}\zeta(s)\Gamma\left(\frac{s}{2}\right)

\xi(0) = \lim_{s\to 0}(1-s)\pi^{-\frac{s}{2}}\zeta(s)\Gamma\left(1+\frac{s}{2}\right)

と変形ができ,これからゼータ関数の特殊値\zeta(0) = -\frac{1}{2}より

\xi(0) = C = -\frac{1}{2}

が得られる.

次に\xi(s)に対数をつけて

\log{\xi(s)} = \log{(1-s)}+-\frac{s}{2}\log{\pi}+\log{\zeta(s)} + \log{\Gamma\left(\frac{s}{2} + 1\right)} \\\\= \log{(-1)} - \log{2} + as + \sum_{\rho}\left(\log\left(1-\frac{s}{\rho}\right) + \frac{s}{\rho}\right)

微分を行う

-\frac{1}{1-s} - \frac{1}{2}\log{\pi} + \frac{\zeta '(s)}{\zeta(s)} + \frac{1}{2}\frac{\Gamma '(\frac{s}{2} + 1)}{\Gamma(\frac{s}{2} + 1)} \\\\ = a+\sum_{\rho}\left(\frac{1}{s-\rho} + \frac{1}{\rho}\right)

こうしてs\to 0と極限をとると

a = -1-\frac{1}{2}\log{\pi} + \frac{\zeta '(0)}{\zeta(0)} + \frac{1}{2}\frac{\Gamma '(1)}{\Gamma(1)}

が得られる.

ここでガンマ関数の項 \frac{\Gamma '(1)}{\Gamma(1)}は,ガンマ関数

\frac{1}{\Gamma(s)} = se^{s\gamma}\prod_{k=1}^{\infty}\left(1 + \frac{s}{k}\right)e^{-\frac{s}{k}}

の対数微分

\frac{\Gamma '(s)}{\Gamma(s)} = -\frac{1}{s} -\gamma -\sum_{k=1}^{\infty}\left(\frac{1}{k+s} - \frac{1}{k}\right)

からs=1を代入して

\frac{\Gamma '(1)}{\Gamma(1)} = -\gamma

が得られる.

ゼータ関数の項\frac{\zeta '(0)}{\zeta(0)}は,ゼータの函数等式

\zeta(s) = 2(2\pi)^{-(1-s)}\Gamma(1-s)\zeta(1-s)\sin{\left(\frac{\pi}{2}s\right)}

の対数微分

\frac{\zeta '(s)}{\zeta(s)} = -\frac{\Gamma '(1-s)}{\Gamma(1-s)} + \log{(2\pi)} + \frac{\pi}{2}\frac{\cos{\frac{\pi s}{2}}}{\sin{\frac{\pi s}{2}}} - \frac{\zeta '(1-s)}{\zeta(1-s)}

について,s\to 0とすると,\pi \cot{\pi z}の部分分数分解

\pi \cot{(\pi s)} = \frac{1}{s} + \sum_{n\neq 0}\left(\frac{1}{s-n} + \frac{1}{n}\right)

と,\frac{\zeta '(s)}{\zeta(s)}s=1を中心としたローラン展開

\frac{\zeta '(s)}{\zeta(s)} = \frac{1}{1-s} + \gamma + O(|s|)

を用いて

\frac{\zeta '(s)}{\zeta(s)} = -\frac{\Gamma '(1-s)}{\Gamma(1-s)} + \log{(2\pi)} + \frac{1}{2}\left( \frac{2}{s} + \sum_{n\neq 0}\left(\frac{2}{s-2n} + \frac{1}{n}\right) \right) - \frac{1}{1-s} - \gamma + O(|s|)

これを整理して

\frac{\zeta '(s)}{\zeta(s)} = -\frac{\Gamma '(1-s)}{\Gamma(1-s)} + \log{(2\pi)} + \frac{1}{s} + \sum_{n\neq 0}\left(\frac{1}{s-2n} + \frac{1}{2n}\right) - \frac{1}{1-s} - \gamma + O(|s|)

\frac{\zeta '(s)}{\zeta(s)} = -\frac{\Gamma '(1-s)}{\Gamma(1-s)} + \log{(2\pi)} + \sum_{n\neq 0}\frac{s}{(s-2n)2n} - \gamma + O(|s|)

最後にs\to 0と極限をとると

\frac{\zeta '(0)}{\zeta(0)} = \log{(2\pi)}

が得られる.ちなみに\zeta(0) = -\frac{1}{2}なので\zeta '(0) = -\frac{1}{2}\log{(2\pi)}が得られる.

 これでようやく

a = \log{(2\pi)} -\frac{\log{\pi}}{2} - 1 - \frac{\gamma}{2}

と指数部が得られたので

\xi(s) = \frac{1}{2}e^{(\log{(2\pi)} -\frac{\log{\pi}}{2} - 1 - \frac{\gamma}{2})s}\prod{\left(1-\frac{s}{\rho}\right)}e^{\frac{s}{\rho}}

が得られたが,指数部は長いので必要になるまではaのまま

\xi(s) = \frac{1}{2}e^{as}\prod{\left(1-\frac{s}{\rho}\right)}e^{\frac{s}{\rho}}

でいく.

これでようやくゼータ関数因数分解

\zeta(s) = \frac{\pi^{\frac{s}{2}}}{s(s-1)}\frac{1}{\Gamma\left(\frac{s}{2}\right)}e^{as}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}}

が得られた.

ちなみに因数分解とは言ってるが,アダマール積といったほうがどちらかというと正しいように感じる.

 

 逆ラプラス変換にゼータのアダマール積を代入

得られた関数\Pi(x)についての逆ラプラス変換

\Pi(x) = \frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{\log{\zeta(s)}}{s} x^s ds

に,さっき求めたゼータの因数分解

\zeta(s) = \frac{\pi^{\frac{s}{2}}}{s(s-1)}\frac{1}{\Gamma\left(\frac{s}{2}\right)}e^{as}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}}

をぶち込んでやりたいが,このまま計算するとうまく収束しない.

そこで部分積分を行い

\Pi(x) = \frac{1}{2\pi i}\left[\frac{\zeta(s)}{s}\cdot \frac{x^s}{\log{x}}\right]_{\sigma - i\infty}^{\sigma+i\infty} - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{\zeta{(s)}}}{s}\right)\frac{x^s}{\log{x}}dx\\\\= - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{\zeta{(s)}}}{s}\right)\frac{x^s}{\log{x}}dx

としたものを計算する.

これ

\Pi(x) = - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{\zeta{(s)}}}{s}\right)\frac{x^s}{\log{x}}dx

\zeta(s)アダマール

\zeta(s) = \frac{\pi^{\frac{s}{2}}}{s(s-1)}\frac{1}{\Gamma\left(\frac{s}{2}\right)}e^{as}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}}

をぶちこむ.

これを

\Pi(x) = - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{\left( \frac{\pi^{\frac{s}{2}}}{s(s-1)}\frac{1}{\Gamma\left(\frac{s}{2}\right)}e^{as}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}} \right)}}{s}\right)\frac{x^s}{\log{x}}dx

\Pi(x) = - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{\frac{1}{2}\left( \frac{\pi^{\frac{s}{2}}}{(s-1)}\frac{1}{\Gamma\left(\frac{s}{2} + 1\right)}e^{as}\prod_{\rho}\left(1-\frac{s}{\rho}\right)e^{\frac{s}{\rho}} \right)}}{s}\right)\frac{x^s}{\log{x}}dx

\Pi(x) = \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log{2} - \frac{s}{2}\log{\pi} + \log{(s-1)} + \log{\Gamma(\frac{s}{2} + 1) - as - \sum_{\rho}(\log(1-\frac{s}{\rho}) - \frac{s}{\rho})}}{s}\right)\frac{x^s}{\log{x}}dx

と変形していく.定数になる項を消去すると,この積分は4つの項

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{2}}{s}\right)x^s ds

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{\Gamma(\frac{s}{2} + 1)}}{s}\right)x^s ds

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds

にわけることができる.

とりあえず \Gamma(s)の項は邪魔なので,ガンマ関数の因数分解形式から

\log{\Gamma(\frac{s}{2} + 1)} = \log{\left(\frac{s}{2}\Gamma\left(\frac{s}{2}\right)\right)}

\log{\Gamma(\frac{s}{2} + 1)} = \log{\left(\frac{s}{2})\right)} + \log{\Gamma\left(\frac{s}{2}\right)}

\log{\Gamma(\frac{s}{2} + 1)} = \log{\left(\frac{s}{2})\right)} - \log{\frac{s}{2}} - \frac{s}{2}\gamma - \sum_{k=1}^{\infty}\log{\left(1+\frac{s}{2k}\right)} + \frac{s}{2k}

\log{\Gamma(\frac{s}{2} + 1)} =  - \frac{s}{2}\gamma - \sum_{k=1}^{\infty}\log{\left(1+\frac{s}{2k}\right)} + \frac{s}{2k}

と変形できることを利用して

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{-\frac{s}{2}\gamma - \sum_{k=1}^{\infty}\log(1+\frac{s}{2k} + \frac{s}{2k})}{s}\right)

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right)

と変形する.

 

積分をしていく(1)

積分するべき内容は

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{2}}{s}\right)x^s ds

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right)

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds

の4つになった.

 

最初の

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{2}}{s}\right)x^s ds

については部分積分

\frac{1}{2\pi i}\frac{1}{\log{x}}\left[\frac{\log{2}}{s}x^s\right]_{\sigma - i\infty}^{\sigma +i\infty} - \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{\log{2}}{s}x^s\log{x}ds

 - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{\log{2}}{s}x^sds

と計算する.

次に積分経路を\sigma - iRから\sigma + iRを通りぐるっと左側に半円を描いて戻っていくという経路

f:id:Aryuaryuaryuryu:20200221024307p:plain

積分経路

積分を行うと,弧の部分の積分結果は0になるので留数定理から,\frac{x^s}{s}s=0のとき留数は1なので

 - \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{\log{2}}{s}x^sds = -\log{2}

が得られる.

 

積分をしていく(2)

こうして計算する内容は

-\log{2}

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right)

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds

になったが,2~4個目の積分

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{\log(1-\frac{s}{\alpha})}{s}\right)x^sds

と考えることができ,\alpha \leq 1であり\alpha \neq 0という前提がある.

logの決定

ちなみにe^{it}2\piを周期として周期関数になるため\log{x}は多価関数になる.そこで1価関数にするため戻り値を限定させないといけない.

そこで\log{1 - \frac{s}{\alpha}} = \log{\frac{\alpha - s}{\alpha}}s = \alpha + 2n\pi iで多価関数となるので,\Im(\alpha) \geq 0のときはs = \alpha + itについてt\geq 0で一区切りするようにする.

f:id:Aryuaryuaryuryu:20200223221808p:plain

logの決定(1)

逆に\Im(\alpha) \lt 0のときはs = \alpha - itについてt\geq 0で一区切りするようにする.

f:id:Aryuaryuaryuryu:20200223222016p:plain

logの決定(2)

そして多価関数なので基準となる出力値を決めないといけないので,s=0のとき\log{1 - \frac{s}{\alpha}} = 0をとることにする.

リーマンさんの工夫

ここで面白いなと思ったのが,リーマンさんは\frac{1}{s}\log{\left(1-\frac{s}{\alpha}\right)}\alpha微分した結果が

\frac{d}{d\alpha}\left( \frac{1}{s}\log{\left(1-\frac{s}{\alpha}\right)} \right) = \frac{1}{\alpha(\alpha - s)}

になるので

\frac{d}{d\alpha}\left( \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds \right) = \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{\alpha(\alpha - s)}\right)x^sds

を計算して後で\alpha積分すればいいでしょ?というメソッドを用いている.

これは部分積分

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{\alpha(\alpha - s)}\right)x^sds = \frac{1}{2\pi i}\frac{1}{\log{x}}\left[\frac{x^s}{\alpha(\alpha - s)}\right]_{\sigma -i\infty}^{\sigma + i\infty} - \frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{x^s}{\alpha(\alpha - s)}ds\\\\ = -\frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{x^s}{\alpha(\alpha - s)}ds

と変形すると

-\frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{x^s}{\alpha(\alpha - s)}ds

s=\alphaのときの留数は-\frac{x^\alpha}{\alpha}なので,留数定理から

-\frac{1}{2\pi i}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{x^s}{\alpha(\alpha - s)}ds = \frac{x^\alpha}{\alpha}

になる.

この結果は\alphaの実部が正負の場合分けを行い,実部が負の時は

\frac{x^\alpha}{\alpha} = \int_{\infty}^{x}t^{\alpha - 1}dt

正の時は

\frac{x^\alpha}{\alpha} = \int_{0}^{x}t^{\alpha - 1}dt

とすると,これを\alpha積分してやれば,\Re(\alpha) \lt 0のとき

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds = \int_{\infty}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C

になり,\Re(\alpha) \gt 0のとき

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds = \int_{0}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C

になる.

次に積分定数の決定だが,\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)についてs=0のとき\log{1 - \frac{s}{\alpha}} = 0と決定したことを踏まえてテイラー展開を用いて変形を行うと

\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right) = -\frac{d}{ds}\left(\frac{1}{s}\left(\frac{s}{\alpha} + \frac{1}{2}\frac{s^2}{\alpha^2} + \frac{1}{3}\frac{s^3}{\alpha^3} + \cdots \right)\right)

\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right) = -\frac{d}{ds}\left(\frac{1}{\alpha} + \frac{1}{2}\frac{s}{\alpha^2} + \frac{1}{3}\frac{s^2}{\alpha^3} + \cdots \right)

\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right) = -\frac{1}{2\alpha^2} - \frac{2s}{3\alpha^3} - \cdots

になるので,|\alpha|\to \inftyと極限をとると

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds = 0

になることを利用する.

こうして\Re(\alpha) \lt 0のとき,x\geq 1なので1とは関係無しに考えることができて

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds = \int_{\infty}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C

については\Re(\alpha) \to -\inftyとすると\int_{\infty}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C = Cがわかるので,C=0になる.

 

一方\Re(\alpha) \gt 0のときは

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma -i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log(1-\frac{s}{\alpha})\right)x^sds = \int_{0}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C

であり,x\geq 1なので1を回避することを考えないといけない.

この積分は0から1まで直進し,1をぐるっと回避してxまで到達する積分を考える.

f:id:Aryuaryuaryuryu:20200223182934p:plain

f:id:Aryuaryuaryuryu:20200223182937p:plain

上方向の回避と下方向の回避

 

こうして計算を行うが,こちらは上方向の回避をしたとき\Im(\alpha) \to \inftyとするなら\int_{0}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C = Cになり,下方向の回避をしたとき\Im(\alpha) \to -\inftyとするなら\int_{0}^{x}\frac{t^{\alpha - 1}}{\log{t}}dt + C = Cになる.このように経路を場合分けできるならば\Re(\alpha) \lt 1という前提もあるのでC=0になる.

ちなみに上方向の回避をした場合,

\int_{0}^{x} \frac{1}{\log{t}}dt = {\rm li}(x) - \pi i

になり,下方向の回避をした場合,

\int_{0}^{x} \frac{1}{\log{t}}dt = {\rm li}(x) + \pi i

になる. 

 

仕上げ

こうして

-\log{2}

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right)

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds

を計算する方法ができあがったのでやっていく.

 

最初は

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right)

について考えてみるが,\alpha = -2k \lt 0の場合なので

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right) = \int_{\infty}^{x}\sum_{k=1}^{\infty}\frac{t^{-2k - 1}}{\log{t}}dt

になる.

あとは総和はx\geq 1で初項t^{-3}で公比t^{-2}の等比級数になるので

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right) = \int_{\infty}^{x}\frac{1}{t(t^2-1)\log{t}}dt

にとまとまる.

 

次は

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds

について考えてみるが,

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{e^{-\pi i}(1-s)}}{s}\right)x^s ds

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(1-s)} - \pi i}{s}\right)x^s ds

と変形すると

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(1-s)}}{s}\right)x^s ds - \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\pi i}{s}\right)x^s ds

になり,\alpha = 1 \gt 0なので

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = \int_{0}^{x}\frac{1}{\log{t}}dt - \frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\pi i}{s}\right)x^s ds

残りの項

-\frac{1}{2}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{1}{s}\right)x^s ds

は計算していくと

-\frac{1}{2}\frac{1}{\log{x}}\left[\frac{x^s}{s} ds\right]_{\sigma - i\infty}^{\sigma +i\infty} + \frac{1}{2}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{1}{s}x^s ds

これは第一項は0になるし,第二項は留数定理から\pi iになる.

ここで

\int_{0}^{x}\frac{1}{\log{t}}dt

についてだが,1で上方向に回避すると{\rm li}(x) - \pi iなので,最終的には

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = {\rm li}(x)

になる.

 

最後に

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds

について,非自明な解は0\lt \Re(\rho) \lt 1に存在するのでそのまま計算ができ

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds = \sum_{\rho}\int_0^{x}\frac{t^{\rho - 1}}{\log{t}}dt

になる.

ここで

u = t^{\rho}と置換すると

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds = \sum_{\rho}\int_0^{x^{\rho}}\frac{1}{\log{u}}du = {\rm li}(x^{\rho})

 が得られる.

 

こうしてようやく

-\log{2}

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\frac{\log{(s-1)}}{s}\right)x^s ds = {\rm li}(x)

-\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{ \sum_{k=1}^{\infty}\log(1+\frac{s}{2k})}{s}\right) = \int_{\infty}^{x}\frac{1}{t(t^2-1)\log{t}}dt

\frac{1}{2\pi i}\frac{1}{\log{x}}\int_{\sigma - i\infty}^{\sigma +i\infty}\frac{d}{ds}\left(\sum_{\rho}\frac{\log{(1-\frac{s}{\rho})}}{s}\right)x^s ds = {\rm li}(x^{\rho})

と計算ができた.

 

リーマンの素数公式の完成

\Pi(x) = \frac{1}{2\pi i}\int_{\sigma - i\infty}^{\sigma + i\infty}\frac{d}{ds}\left(\frac{1}{s}\log{2} + \frac{1}{s}\log{(s-1)} + \frac{1}{s}\log{\Gamma(\frac{s}{2} + 1) - \sum_{\rho}(\frac{1}{s}\log(1-\frac{s}{\rho}))}\right)\frac{x^s}{\log{x}}dx

から4項が得られたので代入すると

\Pi(x) = {\rm li}(x) - \sum_{\rho}{\rm li}(x^{\rho}) + \int_{\infty}^{x}\frac{1}{t(t^2-1)\log{t}}dt - \log{2}

が得られる.

ちなみにゼータ関数函数等式からs1-sで零点が対になっているので,

\Pi(x) = {\rm li}(x) - \sum_{\Im(\rho)\gt 0}\left({\rm li}(x^{^\frac{\rho}{n}}) + {\rm li}(x^{\frac{1-\rho}{n}})\right) + \int_{x}^{\infty}\frac{1}{t(t^2-1)\log{t}}dt - \log{2}

と書き直すこともできる.

そしてメビウス反転公式から得られた式

\pi(x) = \sum_{n=1}^{\infty}\frac{\mu(n)}{n}\Pi(x^{\frac{1}{n}})

に代入を行いようやく

\pi(x) = \sum_{n=1}^{\infty}\frac{\mu(n)}{n}\left({\rm li}(x^\frac{1}{n}) - \sum_{\Im(\rho)\gt 0}\left({\rm li}(x^{^\frac{\rho}{n}}) + {\rm li}(x^{\frac{1-\rho}{n}})\right) + \int_{x^\frac{1}{n}}^{\infty}\frac{1}{t(t^2-1)\log{t}}dt - \log{2}\right)

が得られる.長かった.

 

ちなみにこの手法では素数定理リーマン予想が解決しないと証明できないが,別の手法で証明がされたらしい.

一時期リーマン予想が証明されたなんて噂があって,『RSA暗号終了するー』なんて言ってる人がいた.それはRSA暗号素数を用いてるから今回の素数公式と結びつけて言ったんだろうなと思うけど,正直リーマン予想が解決してこの式が完成したとしてもRSA暗号は終了しないと思う.

 

 

プログラムを組んでみる後編は次の記事にて.

aryuaryuaryuryu.hatenablog.com

 

参考文献

与えられた数より小さい素数の個数について

素数定理と明示公式

リーマン予想とはなにか すべての素数を表す式は可能か

リーマンのゼータ関数

スタンダード工学系のフーリエ解析・ラプラス変換

素数とゼータ関数

*1:リーマンの論文.リーマン予想がこの論文で誕生したことで有名.(原文)(日本語訳)(英訳

*2:ここの段階でリーマン予想が誕生した.『できるだけ厳密にしたほうが良いんだろうし何度か挑戦したけど駄目だった.でもまぁ今回の趣旨ではないからこれはまた別の話』みたいなこと言ってるらしい.