前回(2012年12月27日)の
リーマン予想の続きです。今回は数値解析の無料ソフト「Maxima」を使ってゼータ関数の素性をさらに探りたいと考えました。
解析ソフト(Maximaなど)には既に組み込み関数としてZeta(x)が用意されていますので、その引数の条件を変えていろいろなグラフを描けます。が、それでは単にお絵描きをしているという程度の話で、本当にリーマンのゼータ関数を理解したことになるのかという素朴な疑問をもちました。そこでまずゼータ関数に関して少しおさらいをしてみることにします。前回の記事では明確でなかった関数の定義域についての考察も行いたいと思います。
それを踏まえてグラフを描いたのが今回の話題です。さて,,
ステップ1 下記の式から始まります。所謂原型です。式(2-1)
=1+\frac{1}{2^s}+\frac{1}{3^s}+\frac{1}{4^s}+\frac{1}{5^s}+\cdots=\sum_{n=1}^\infty \frac{1}{n^s})
最後の書き方はそれぞれの項の和を意味していて、nが1から無限大までの

あるいは

の和という書き方と考えます。nは1を含む自然数です。式(2-1)は s>1であれば収束します。s<=1の範囲では発散してしまい答がありません。したがってこの形の式ではs>1のみを定義域と考えなければならないでしょう。
さて、式(2−1)が如何に素数と関係していくかを示しましょう。オイラーが仕掛けたやりかたを見ていきましょう。
)
に

を書けた式をつくりそれを式(1)から引きます。そうすると
-\frac{1}{2^s}\zeta(s)=(1+\frac{1}{2^s}+\frac{1}{3^s}+\frac{1}{4^s}+\frac{1}{5^s}+\cdots)-(\frac{1}{2^s}+\frac{1}{4^s}+\frac{1}{6^s}+\frac{1}{8^s}+\frac{1}{10^s}+\cdots))
上記の結果、うまい具合に分母の偶数部分(正確には2の倍数)が消えます。
式(2-2)
\zeta(s)=(1+\frac{1}{3^s}+\frac{1}{5^s}+\frac{1}{7^s}+\frac{1}{9^s}+\cdots))
同じやり方で上記の式(2)に
)
をかけると
式(2-3)
上記の計算の結果3とその倍数(9,15,21,27など)が消えていきます。さらに3の次の素数5を同じようにしてかけると
式(2-4)
(1-\frac{1}{3^s})(1-\frac{1}{2^s})\zeta(s)=(1+\frac{1}{7^s}+\frac{1}{11^s}+\frac{1}{13^s}+\frac{1}{17^s}+\cdots))
になって5の倍数が消えていきます。この段階では5以下は全て素数になっています。この作業はエラトステネスのふるいと呼ばれギリシア時代に考案された素数を探す作業の変形版とかんがえられます。さすがオイラーですね。この作業を繰り返すと左辺は全ての素数で構成する積の形の式になるのです。さて右辺はこの繰り返しにより1に近づいていく事が直感で分かりますね。この作業を無限に繰り返して進めたとして右辺を1にします。また右辺を全ての素数関数の積とかんがえると次のような式が導かれます。
式(2-5)
=\left ( \frac{1}{1-\frac{1}{2^s}} \right )\left ( \frac{1}{1-\frac{1}{3^s}} \right )\left ( \frac{1}{1-\frac{1}{5^s}} \right )\left ( \frac{1}{1-\frac{1}{7^s}} \right )\cdots)
少し形を変えて
式(2-6)
=\left ( \frac{1}{1-2^{-s}} \right )\left ( \frac{1}{1-3^{-s}} } \right )\left ( \frac{1}{1-5^{-s}} } \right )\left ( \frac{1}{1-7^{-s}} } \right )\cdots=\prod ^\infty_{p:prime}\frac{1}{1-p^{-s}})
これは式(2-1)に等しいので、
式(2-7)

これはオイラーが素数の形であらわしたゼータ関数です。前回の記事で示しました式と同じ形が導入できました。
ただしこの段階ではsは1以上の数と考えられます。S=1の場合は調和級数と言ってもっとも慎ましく無限に発散します。s=-1と考えると式(1)は、
式(2-8)

になり発散します。したがって上記の式はs>1の場合において意味を持っているといえます。
ステップ2 定義域の拡張その1:このあとリーマンはこの関数を解析接続という手法を用いてこれを手直しをします。ただこのステップが高校程度の数学で展開できるようなシロモノではなく、結構苦労することになります。つまり上記の式では定義される変数の範囲がs>1であった物を全複素数領域で使えるようにしたのです。そこに飛ぶ前にちょっと準備運動をします。新しい関数を考えます。エータ関数と呼びましょう。次のような形をしています。
=1-\frac{1}{2^s}+\frac{1}{3^s}-\frac{1}{4^s}+\frac{1}{5^s}-\frac{1}{6^s}+\cdots)
さて、ちょっとここでテクニカルな変更を加える事とします。このエータ関数を下記のように変形します。するとこのエータ関数は見事にゼータ関数であらわされることが分かります。
-\frac{1}{2^{s-1}}\left(1+\frac{1}{2^s}+\frac{1}{3^s}+\frac{1}{4^s}+\cdots\right ))
\zeta(s))
逆にエータ関数が分かればゼータ関数の値も求まりますね。
式(2-9)
=\eta(s)/\left(1-\frac{1}{2^{s-1}}\right))
)
の変数sの定義域はs>0なのでゼータ関数の領域はs>0に広がりました。ちなみに
=1-\frac{1}{\sqrt2}+\frac{1}{\sqrt3}-\frac{1}{\sqrt4}+\frac{1}{\sqrt5}\ldots=0.6048986\ldots)
になりますので
=\frac{0.6048986\ldots}{1-\sqrt2}=\frac{0.604896\ldots}{1-1.41421356\ldots}=-1.46035\ldots)
となります。もし式(2-1)だけを定義していればこのようにゼータ関数の0.5の関数値は無限大になって答がありませんが、定義を拡張する事でこのような有限の値を求めることができました。
ステップ3 定義域の拡張その2:このような定義の拡張(解析接続)を全複素領域に広げてリーマンは下記のような漸化式を提唱しました。この式の導入はまた別途述べたいと思います。結構数学的な腕力が必要です。ここでは記するだけとしましょう。
式(2-10-1)
ここで
)
はガンマ関数と呼ばれている関数でn!(nの階乗)を複素数まで拡張した関数です。
または s=1-sと書き換えて、
式(2-10-2)
=2^{1-s}\pi^{-s}\sin(\frac{1-s}{2}\pi)\Gamma(s)\zeta(s))
これでゼータ関数は複素数全域で定義することができました。しかしこの段階でもs=1+0iの点は発散します。
また変数sがマイナスの偶数

だと
=2^{-2n}\pi^{-2n-1}\sin(-n\pi)\Gamma(1+2n)\zeta(1+2n))
になりますが
=0)
なのでゼータ関数はゼロになります。これをゼータ関数の自明なゼロ点といいます。前回の
記事の第3図を参照してください。
またこの式は荒っぽく表現すると
)
がきまると
)
が判明するという事です。もしs=1/2だと
=2^{0.5}\pi^{-0.5}\sin(\frac{\pi}{4})\Gamma(0.5)\zeta(0.5)=\sqrt2\cdot\frac{1}{\sqrt\pi}\cdot\frac{1}{\sqrt2}\cdot\sqrt\pi\cdot\zeta(0.5))
になります。
さあようやくゼータ関数の全貌が見え始めました。上記式(2-10−1)および(2-10−2)から分かる事は
)
がわかると
)
が求められ、
)
がわかると
)
が求められるわけですね。つまりs=1/2を中心にして複素平面上の左右上下が対称的につながっている事を示しています。
今使用しているMaximaやその他の数値解析ソフトは上記のような考え方を基本に計算できるようなアルゴリズムを用意したのですね。ゼータ関数はまだいろいろな表現方法がありますが、この話はこれぐらいにしましょう。
ゼータ関数のグラフ:それでは、ゼータ関数の性質を調べる元々の道に戻りたいと思います。前回描画出来なかったグラフがMaximaで色々表現できました。それをここで述べたいと思います。
).png)
第2-1図 第2-2図
第2-1図:ゼータ関数の実数部=0 (赤)、虚数部=0 (青)の二種類のグラフを同一面に描いた物。この二つの曲線の交点がゼタ関数のゼロ転位なります。図から分かるように負の偶数は全てゼロになっています。他のゼロ点は実数が0.5の虚数線上にあることが分かります。
第2-2図は同じくゼータ関数の絶対値を等高線であらわしたグラフです。同じように実数部が0.5上の直線に極点(ゼロ点)が存在することが分かります。

第2-3図 第2-4図
さて上記のグラフは先ほどまでのものと違ってゼータ関数の実数部を横軸、虚数部を縦軸にとったものです。ある複素数(s)にたいしてゼータ関数が与える数値を描いたグラフです。この曲線は s=0.5+ti上をtを0から第2-3図は35まで、第2-4図は150まで動かしたときのゼータ関数の値です。スタートは
=\zeta(0.5))
です。この値はこの記事の式(2-9)に0.5を代入して得られています。つまり
=-1.46035\ldots)
ですね。第2-3図も第2-4図も同じく-1.46..+0iの所です。ここからsが増加していくと反時計回りに曲線が動いていき、横軸を越えると時計回りになり、(0,0)を通ります。ここがゼータ関数のゼロ点ですね、0.5+35iまで動かしたのが第2-3図で0.5+130まで動かしたのが第2-4図です。
それでは0.5ではなくて0.3+tiと0.8+tiで同じようなグラフを書いてみましょう。


第2-5図 第2-6図
第2-5図は0.3+tiでt<150まで。第2-6図は0.8+tiでt<150の範囲で描いたグラフです。ご覧のように両方とも曲線は0,0を通っていませんね。つまりこの2種類の変数sにかんしてゼータ関数はゼロ点を持っていないということになります。
なお、各グラフはその上をクリックしますと拡大されますので見やすくなります。
前回の記事でもコメントしましたが、数値解析はこのゼータ関数のゼロ点に関する証明を与える物ではありませんが直感としてこのような状況になっているという事は分かりますね。さて次回はこのゼータ関数と素数のもう少し深い関係を調べてみたいとおもいます。