RSS

リーマンゼータ関数

リーマンゼータ関数(Riemann zeta function)とは以下のような複素関数 $ \zeta:\mathbb{C} \rightarrow \mathbb{C} $ です。 $$ \zeta(s) = \sum_{n=1}^\infty \frac{1}{n^s} = 1 + \frac{1}{2^s} + \frac{1}{3^s} + \frac{1}{4^s} + \cdots $$

次のような積(オイラー積)で表せることも知られています:

$$ \begin{eqnarray} \zeta(s) & = & \prod_{p:{\rm prime}} \frac{1}{1 – p^{-s}} \\ & = & \left( \frac{1}{1-2^{-2}} \right) \left( \frac{1}{1-3^{-2}} \right) \left( \frac{1}{1-5^{-2}} \right) \left( \frac{1}{1-7^{-2}} \right) \cdots \end{eqnarray} $$

その他興味深い等式。例えば $ s=2 $ とすると(バーゼル問題)

$$ \zeta(2) = \sum_{n=1}^\infty \frac{1}{n^2} = \prod_{p:{\rm prime}} \frac{1}{1 – p^{-2}} = \frac{\pi^2}{6} $$

素数と円周率の神秘的な関係を表しています。
$s$を複素平面で動かしながらプロットすると、美しいパターンが現れます。偏角が色相環に対応づけられています。

Pythonコード

%matplotlib notebook
#%matplotlib inline
from mpmath import zeta, cplot
cplot(zeta,[-40,40],[-40,40],points=100000)

リーマンゼータ関数