リーマンゼータ関数
リーマンゼータ関数(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)