リーマン予想:素数の世界への探訪
数学ではいろいろな難問がありますが、その代表的な物に予想されてから150年経っても未決の問題にリーマン予想というものがあります。これは素数に深く関係する問題でこれを解決すれば自然の生業などが判明するのではないかという深遠な話です。それはこの問題は原子核の生い立ちにも関係するかもしれない重要な課題と現在考えられているからです。解決のためにはまったく新しい数学が必要になるかもしれないともいわれています。知りたいという欲求は人間の無限の可能性を引き出してくれますね。
素数というのは自分と1以外では割り切れない整数の事ですね。小川洋子さんの小説「博士が愛した数式」にも登場します。素数の発見は遠くギリシャ時代にさかのぼるようです。

と続いていく数字の列。小学生でも知っている事柄です。これが数学者にとって悩みの種になってしまいます。
事の起こりは、19世紀の大数学者ゲオルク・フリードリヒ・ベルンハルト・リーマン(Georg Friedrich Bernhard Riemann, 1826年9月17日 - 1866年7月20日)が1859年に発表した「与えられた数より小さい素数の個数について」というわずか8ページの論文。

リーマンと彼の論文の1ページ目
リーマンは下記のような予想をしたのです。
ζ(s) の自明でない零点 s は、全て実部が 1/2 の直線上に存在する。
予想は一行で書ける簡単な物です。ゼータという関数がありその値がゼロになるような変数S(複素数)は x(実部)y(虚部)の座標上で一直線に並ぶという事ですね。まずこれが何を言っているのか?普通の人々にとっては理解不可能ですね。問題が分からないのに答えどころではないと言った感じです。今回のブログ記事の目的は一応この問題を分かりやすく理解できる内容にしたいと思います。
物事は歴史的に調べていく事から始めるのが正当なアプローチでしょう。素数についてまず大きな貢献をした人はこのブログにも多面体定理で登場したレオンハルト・オイラー(Leonhard Euler1707-1783)。彼の大きな発見は無限に続く素数のかけ算が円周率を含む値になる事を示したのです。次のような式であらわされます。
\left ( \frac{1}{1-\frac{1}{3^2}} \right )\left ( \frac{1}{1-\frac{1}{5^2}} \right )\left ( \frac{1}{1-\frac{1}{7^2}} \right )\cdots=\frac{\pi ^2}{6})
左辺をずらずら並べるのは面倒なので、記号をつくって下記のように表現します。
... 式1
ギリシャ文字のゼータ(
)をつかってこの積をゼータ関数とよびます。正確にいえばゼータ関数の変数が2のケースといえましょう。大文字の
は積という行為をあらわします。例えば

数学ではこのような表記方法がいろいろな場面で定義されます。和をあらわすときは大文字のシグマ(
)これは英語のsumのSに当りますね。また極限に細かくした所を足していく事を意味する積分は(
)の記号を使います。昔高校の数学の先生がシグマの上下を持ってシグマのカクカクをなめらかにのばした形と言っていました。和と積分の様をうまく表現できていて、まさしく言い得て妙ですね。
又オイラーはこの式を下記のようにもあらわせる事を示しました。全部の素数と全部の自然数を結びつけたのですね。

リーマンが上記の論文で最初に関数(式1)の名前をゼータといいました。それ以降ゼータ関数と呼ばれています。彼の論文の最初の部分の記述(上記論文の写真の真ん中から下)に..
『私は全ての素数と自然数について積公式、

が成り立つとしたオイラーの関係で両辺が収束するときに限りこれであらわす複素変数sの関数を私はζ(s)(ゼータ関数)とする。』これが起源です。
特殊な例として、ゼータ関数の変数が0と2以上の偶数ではその値が次のようになります。
リーマンは彼の論文でゼータ関数の変数を実数だけではなくて複素数領域まで拡張しました。
さあ、ここから数値計算を行ってゼータ関数の様子を見てみましょう。グラフを見れば関数の挙動を直感する事が出来ると思います。
第1図:ゼータ関数のsの実数部分が1以上の領域でどのような値をとるか示した三次元図です。ゼータ関数の答えは複素数であらわされるので、そのまま計算しても三次元のグラフでは描画で来ません。したがってゼータ関数の絶対値を計算してみました。絶対値は実数であらわされる値ですので。

使用したソフト:R
下記が3Dプロットのプログラムです。
x<- seq(1.01,10, length=10) ##x>=1としたい所ですが1にするとRに内蔵しているゼータ関数が計算できなくなるので1.01から増加するとしました。
y<- seq(-20,20,length=100)
f<- function(x,y) {abs(zeta(x+y*1i))}
z<- outer(x,y,f)
persp(x,y,z,theta = -80, phi = 20, expand = 0.5, zlim=c(-1,4), col = "lightblue",
ltheta = 120, shade = 0.75, ticktype = "detailed",
xlab = "x", ylab = "yi", zlab = "abs(zeta( s ))")
X>1つまりSの実部が1以上のゼータ関数の状況です。ゼータ関数はs=1+0iの一点のみで発散しますのでここは急峻な勾配で無限に大きくなる様が描かれています。図では4で打ち切っています。それ以外はどうもz(s)=1近辺に収束しているようで、平らになっています。しかしこの領域ではz(s)はゼロにならないようです。つまりゼータ関数はs>1以上ではゼロ点をもたないといえそうです。
第2図:zゼータ関数の変数sが実数値の場合のグラフです。範囲を-10から+8までで示しています。z(2)以上はsが大きくなると値1に収束しているようです。S=1ではゼータ関数は発散しています。S=1ではゼータ関数が次の級数になります。
=1+\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\frac{1}{5}+\cdots)
これは調和級数といって最も控えめに発散する級数です。Sの実部が負の領域ではゼータ関数はz=0のアタリを上下しているようです。ただこのスケールではよくわかりません。

第3図:上記第2図のマイナスの領域を拡大したものです。ご覧のようにマイナスの偶数でゼータ関数はゼロ点になります。これらがリーマンがいっている自明なゼロ点です。自明とは容易に証明できる事柄を意味します。

第4図:マイナスの領域をあらわしたゼータ関数の絶対値分布です。第1図(実数が1以上)と対応しています。ただしz軸の単位が違う事(maxが4と50)に注意してください。

これをよく見ると実数y=0からy値が大きくなるとゼータ関数の絶対値も相当大きくなっていくことが分かります。しかし大きくなってもゼータ関数はある値に収束します。正確にやるとこの図からはみだしてしまうので、ここでは値を50で切っています。ちょっと見た所y=0のxが偶数値をとる以外にゼロ点が無いように見えます。
リーマンの結論ではゼータ関数の自明でないゼロ点はs=x+yiのx<0とx>1では見当たらない。したがってその可能性はsの実部が0から1の間にあるのではないかと提案しています。リーマンは手計算でその範囲のゼロ点を幾つか計算し、それらがs=0.5+yiの線上に分布している事を見つけたようです。それを踏まえて最終的にリーマン予想にたどり着いたのではないかといわれています。この実部が0,1の間の領域をクリティカルストライプといい、実部0.5で虚軸に平行な線をクリティカルラインと呼びます。
それでは数値計算でクリティカルストライプ領域の模様を見てみることにしましょう。
第5図:クリティカルストライプの様子。ちょっと見にくいのですが、三次元図を下から覗いた視点から見た図です。ゼータ関数の絶対値のプロットです。ゼロ点が3個、x=0.5のところに並んで見えるのがわかりますでしょうか?虚部Yが5から30まで。実部xが0から1までのゼータ関数絶対値の値を示した物です。

第6図(下)はクリティカルライン上のゼロ点分布です。虚数部が14.13..、21.022..、24.010..のところがゼロになっているのが分かります。この5図と6図を見るとx=0.5以外にはゼロ点が見当たらない感じがします。この範囲においてはリーマンの予想通りになっています。

第7図はMathematica(数理計算ソフト、お値段は相当高い。)で計算された分布の模様を示しています。Wolfram Mathnoteからの引用です。 実数部(赤)=0と虚数部(青)=0のグラフが描かれており、その交点がゼータ関数ゼロ点ということですね。マイナスの実偶数に存在する自明なゼロ点も示されています。実はこのグラフこそ自分で書きたかったのですが、今所有しているソフトでまだうまく出来ていません。出来ましたら報告したいと思います。第7図以外は自分で描きました。使用ソフトは"R"です。第7図の様な分布図もRで描こうとトライはしたのですが、計算時間が膨大でパソコンではエラーが出て結果を得ることが出来ませんでした。いまMathematicaに近いパワフルなフリーソフトで再度トライをしたいと思っています。

数値計算では現在10桁以上の点でゼロ点が見つかっていてそれらは全てx=0.5の線上にあることが分かっています。もとより、数値計算の結果は、この予想を証明する行為ではないのですが実験としてリーマン予想はかなりの確度で正しいという感じがします。数論は解析などに比べて相対的に容易な表現であらわすことができるのですが、証明となると本当に難しいのです。このゼータ関数の挙動、つまり自明でないゼータ関数のゼロ点の分布は原子核のエネルギー間隔とものすごく似ている事が判明しており、リーマン予想の裏にある真理を知る事はひょっとすると自然の成り立ちをも解明するかもしれないという壮大な期待がよせられています。
参考文献:
リーマンの原論文の和訳、その解説と数値解析の説明が載っています。
しかし、素人の能力ではこの予想そのものを理解する事もなかなか難儀な仕事でそれ以上となると全く手も足も出ません。そうなので、今回はこの位にしておきたいと思います。
素数というのは自分と1以外では割り切れない整数の事ですね。小川洋子さんの小説「博士が愛した数式」にも登場します。素数の発見は遠くギリシャ時代にさかのぼるようです。
と続いていく数字の列。小学生でも知っている事柄です。これが数学者にとって悩みの種になってしまいます。
事の起こりは、19世紀の大数学者ゲオルク・フリードリヒ・ベルンハルト・リーマン(Georg Friedrich Bernhard Riemann, 1826年9月17日 - 1866年7月20日)が1859年に発表した「与えられた数より小さい素数の個数について」というわずか8ページの論文。


リーマンと彼の論文の1ページ目
リーマンは下記のような予想をしたのです。
ζ(s) の自明でない零点 s は、全て実部が 1/2 の直線上に存在する。
予想は一行で書ける簡単な物です。ゼータという関数がありその値がゼロになるような変数S(複素数)は x(実部)y(虚部)の座標上で一直線に並ぶという事ですね。まずこれが何を言っているのか?普通の人々にとっては理解不可能ですね。問題が分からないのに答えどころではないと言った感じです。今回のブログ記事の目的は一応この問題を分かりやすく理解できる内容にしたいと思います。
物事は歴史的に調べていく事から始めるのが正当なアプローチでしょう。素数についてまず大きな貢献をした人はこのブログにも多面体定理で登場したレオンハルト・オイラー(Leonhard Euler1707-1783)。彼の大きな発見は無限に続く素数のかけ算が円周率を含む値になる事を示したのです。次のような式であらわされます。
左辺をずらずら並べるのは面倒なので、記号をつくって下記のように表現します。
ギリシャ文字のゼータ(
数学ではこのような表記方法がいろいろな場面で定義されます。和をあらわすときは大文字のシグマ(
又オイラーはこの式を下記のようにもあらわせる事を示しました。全部の素数と全部の自然数を結びつけたのですね。
リーマンが上記の論文で最初に関数(式1)の名前をゼータといいました。それ以降ゼータ関数と呼ばれています。彼の論文の最初の部分の記述(上記論文の写真の真ん中から下)に..
『私は全ての素数と自然数について積公式、
が成り立つとしたオイラーの関係で両辺が収束するときに限りこれであらわす複素変数sの関数を私はζ(s)(ゼータ関数)とする。』これが起源です。
特殊な例として、ゼータ関数の変数が0と2以上の偶数ではその値が次のようになります。
| |
| |
| |
| |
リーマンは彼の論文でゼータ関数の変数を実数だけではなくて複素数領域まで拡張しました。
さあ、ここから数値計算を行ってゼータ関数の様子を見てみましょう。グラフを見れば関数の挙動を直感する事が出来ると思います。
第1図:ゼータ関数のsの実数部分が1以上の領域でどのような値をとるか示した三次元図です。ゼータ関数の答えは複素数であらわされるので、そのまま計算しても三次元のグラフでは描画で来ません。したがってゼータ関数の絶対値を計算してみました。絶対値は実数であらわされる値ですので。

使用したソフト:R
下記が3Dプロットのプログラムです。
x<- seq(1.01,10, length=10) ##x>=1としたい所ですが1にするとRに内蔵しているゼータ関数が計算できなくなるので1.01から増加するとしました。
y<- seq(-20,20,length=100)
f<- function(x,y) {abs(zeta(x+y*1i))}
z<- outer(x,y,f)
persp(x,y,z,theta = -80, phi = 20, expand = 0.5, zlim=c(-1,4), col = "lightblue",
ltheta = 120, shade = 0.75, ticktype = "detailed",
xlab = "x", ylab = "yi", zlab = "abs(zeta( s ))")
X>1つまりSの実部が1以上のゼータ関数の状況です。ゼータ関数はs=1+0iの一点のみで発散しますのでここは急峻な勾配で無限に大きくなる様が描かれています。図では4で打ち切っています。それ以外はどうもz(s)=1近辺に収束しているようで、平らになっています。しかしこの領域ではz(s)はゼロにならないようです。つまりゼータ関数はs>1以上ではゼロ点をもたないといえそうです。
第2図:zゼータ関数の変数sが実数値の場合のグラフです。範囲を-10から+8までで示しています。z(2)以上はsが大きくなると値1に収束しているようです。S=1ではゼータ関数は発散しています。S=1ではゼータ関数が次の級数になります。
これは調和級数といって最も控えめに発散する級数です。Sの実部が負の領域ではゼータ関数はz=0のアタリを上下しているようです。ただこのスケールではよくわかりません。

第3図:上記第2図のマイナスの領域を拡大したものです。ご覧のようにマイナスの偶数でゼータ関数はゼロ点になります。これらがリーマンがいっている自明なゼロ点です。自明とは容易に証明できる事柄を意味します。

第4図:マイナスの領域をあらわしたゼータ関数の絶対値分布です。第1図(実数が1以上)と対応しています。ただしz軸の単位が違う事(maxが4と50)に注意してください。

これをよく見ると実数y=0からy値が大きくなるとゼータ関数の絶対値も相当大きくなっていくことが分かります。しかし大きくなってもゼータ関数はある値に収束します。正確にやるとこの図からはみだしてしまうので、ここでは値を50で切っています。ちょっと見た所y=0のxが偶数値をとる以外にゼロ点が無いように見えます。
リーマンの結論ではゼータ関数の自明でないゼロ点はs=x+yiのx<0とx>1では見当たらない。したがってその可能性はsの実部が0から1の間にあるのではないかと提案しています。リーマンは手計算でその範囲のゼロ点を幾つか計算し、それらがs=0.5+yiの線上に分布している事を見つけたようです。それを踏まえて最終的にリーマン予想にたどり着いたのではないかといわれています。この実部が0,1の間の領域をクリティカルストライプといい、実部0.5で虚軸に平行な線をクリティカルラインと呼びます。
それでは数値計算でクリティカルストライプ領域の模様を見てみることにしましょう。
第5図:クリティカルストライプの様子。ちょっと見にくいのですが、三次元図を下から覗いた視点から見た図です。ゼータ関数の絶対値のプロットです。ゼロ点が3個、x=0.5のところに並んで見えるのがわかりますでしょうか?虚部Yが5から30まで。実部xが0から1までのゼータ関数絶対値の値を示した物です。

第6図(下)はクリティカルライン上のゼロ点分布です。虚数部が14.13..、21.022..、24.010..のところがゼロになっているのが分かります。この5図と6図を見るとx=0.5以外にはゼロ点が見当たらない感じがします。この範囲においてはリーマンの予想通りになっています。

第7図はMathematica(数理計算ソフト、お値段は相当高い。)で計算された分布の模様を示しています。Wolfram Mathnoteからの引用です。 実数部(赤)=0と虚数部(青)=0のグラフが描かれており、その交点がゼータ関数ゼロ点ということですね。マイナスの実偶数に存在する自明なゼロ点も示されています。実はこのグラフこそ自分で書きたかったのですが、今所有しているソフトでまだうまく出来ていません。出来ましたら報告したいと思います。第7図以外は自分で描きました。使用ソフトは"R"です。第7図の様な分布図もRで描こうとトライはしたのですが、計算時間が膨大でパソコンではエラーが出て結果を得ることが出来ませんでした。いまMathematicaに近いパワフルなフリーソフトで再度トライをしたいと思っています。

数値計算では現在10桁以上の点でゼロ点が見つかっていてそれらは全てx=0.5の線上にあることが分かっています。もとより、数値計算の結果は、この予想を証明する行為ではないのですが実験としてリーマン予想はかなりの確度で正しいという感じがします。数論は解析などに比べて相対的に容易な表現であらわすことができるのですが、証明となると本当に難しいのです。このゼータ関数の挙動、つまり自明でないゼータ関数のゼロ点の分布は原子核のエネルギー間隔とものすごく似ている事が判明しており、リーマン予想の裏にある真理を知る事はひょっとすると自然の成り立ちをも解明するかもしれないという壮大な期待がよせられています。
参考文献:
![]() | 素数に憑かれた人たち ~リーマン予想への挑戦~ (2004/08/26) John Derbyshire、松浦 俊輔 他 商品詳細を見る |
リーマンの原論文の和訳、その解説と数値解析の説明が載っています。
![]() | リーマン予想 (1991/09) 鹿野 健 商品詳細を見る |
しかし、素人の能力ではこの予想そのものを理解する事もなかなか難儀な仕事でそれ以上となると全く手も足も出ません。そうなので、今回はこの位にしておきたいと思います。
スポンサーサイト
