TETRA'S MATH

数学と数学教育

ランダム行列

 ランダム行列というのは、歴史的には核物理学の中で誕生・発達してきたものようです。こちらのページによると「原子核などの、相互作用が強く、しかもそのハミルトニアン自体がはっきりとわからない場合に、その不可知性を統計的に処理しスペクトル相関を得るためにウィグナーによって考え出された」とのこと。

 『素数に憑かれた人たち』では、次のような4×4のランダム行列の例が示されています。



 左上から右下の対角線上には実数が並んでいて、対角線について対称な位置にある複素数は互いに共役になっているので、この行列はエルミート行列なのですが、どのへんがランダムかというと、対角線上にある実数と、それ以外の複素数の実数部・虚数部が「ガウスの正規分布からランダムに拾ってきた数」になっているそうです。つまり“ガウス分布的にランダムな”エルミート行列であるらしいのです。

 で、なにがびっくりって、このガウス分布的にランダムな数でつくった行列の固有値は、ランダムには並んでいないらしいのです。『素数に憑かれた人たち』の中で、固有値を点で表した図と無作為に選んだ点を表した図が並べてのせてあるのですが、その並び方が明らかに違う。無作為な点のほうは、ぐちゃっとくっついたり、かと思えば他の部分より離れてみたり、見るからにランダムなのですが、ランダム行列の固有値のほうは、お互いにあまり近づきたくない様子がみてとれて、結果的に無作為な点より等間隔に並んでいるように見えるのです。「斥力の効果が見える」ということらしいのですが。

 さらになにがびっくりって、このランダム行列の固有値の間隔が、ゼータ関数の自明でない零点の間隔にとてもよく似ているらしいのです。

 なんでそんなことになっちゃうんでしょうか??
  
 ここまでくるともう、「ここはどこ? わたしはだれ?」状態なのですが、とにもかくにもモンゴメリ=オドリツコの法則にたどりつくことはたどりつきました。(なお、ランダム・エルミート行列は全部まとめて「ガウス・ユニタリ集団」、あるいはGUEと呼ばれるそうです。)

          モンゴメリ=オドリツコの法則

 リーマンのゼータ関数(しかるべく正規化したもの)の連続した自明でない零点の間隔分布は、統計的にはGUE演算子における固有値の間隔分布と同一である。


 これまでの勉強の流れでいくと、エルミート行列の固有値は“取り出した物理量”という話だったと思うのですが、その間隔分布がゼータ関数の零点の間隔分布といっしょって・・・・・・どういうこと?
『素数に憑かれた人たち』 | permalink

ヒルベルト=ポリヤ予想

 というわけで、ヒルベルト=ポリヤ予想の“意味”が少しわかってきました。


「ヒルベルト=ポリヤ予想」

 リーマンのゼータ関数の自明でない零点は、何らかのエルミート演算子の固有値に対応している。



 意味がわかったといっても、ここに出てくる単語の意味がわかってきただけの話です。

 ヒルベルトとポリヤは、ほぼ同じ時期に別々にこの予想に達したようですが、2人とも論文にまとめて発表することはなく、講義や会話の中で触れるにとどまったそうです。予想の由来ははっきりしていないとか。

 ポリヤのほうには物的証拠が残っていて、アンドリュー・オドリツコに宛てた手紙のなかに上記の予想に関わることが記されているそうです。(該当部分の画像が『素数に憑かれた人たち』に載っています。)

 というわけで、オドリツコの名前が出てきました。次なる目標は、

「モンゴメリ=オドリツコの法則」

 リーマンのゼータ関数(しかるべく正規化したもの)の連続した自明でない零点の間隔分布は、統計的にはGUE演算子における固有値の間隔分布と同一である。


 なのですが、この法則に挑む前に、量子力学の(勉強するとは言わないが)さわりだけでも感じ取っていたい気分。

 あと、統計の復習も必要だなぁ。最苦手分野だ…。
『素数に憑かれた人たち』 | permalink

複素数平面での解析

 とりあえず、『素数に憑かれた人たち』で示されている複素数平面での解析の例を考えたいと思います。(第9章の内容を織り交ぜながら、第11章の最後のほうをみてみます。)

 まず、次の無限級数を考えます。

   

 この無限級数は、次のように書き換えられます。

   

 かっこの中は S(x) そのものなので、

   

となり、これを変形すると、

   ……◎

が得られます。

 ちょっと話はズレますが、「自明な零点」で書いた”ゼータ関数の定義域の拡張についての説明”は、この関数を用いてなされているのでした。上記の無限級数S(x)は −1<x<1 のところでしか収束しませんが、1/(1−x) はx=1以外のところではいつでも値をもちます。つまり「無限級数は、ある関数を、その定義域の一部について定義することがある」ことの例です。だから、ゼータ関数についても、1+1/2^s+1/3^s+1/4^s+1/5^s+… という無限級数で定義されるのはs>1の範囲だけである、ということなのでしょう。とするとゼータ関数の本来の定義とはなんぞや?という疑問がわいてくるのですが、いまはその話はおいておいて、複素数平面です。

 さて、上記の無限級数 S(x)にs=1/2i を代入してみます。



 一方、上記◎の右辺に x=1/2i を代入すると、

   

となります。果たして、x=1/2i のとき、この値に収束するのでしょうか? それを、複素数平面を使って確認してみたいと思います。



 収束していく様子を示すにはあまりにも項が少なすぎますが、実際、赤い点(0.8+0.4i)に収束していくそうです。

 なお、しもまっち先生のこちらのページでは、無限交代級数の収束の様子をGRAPESを使って眺める方法の説明が書いてあります。
『素数に憑かれた人たち』 | permalink

自明な零点

 ここいらでいったん、リーマン予想とはどういうものか、確認しておきたいと思います。



 「ゼータ関数の零点」というのは、ζ(s)=0となるsの値のことで、sが負の偶数の場合には0になることがわかっており、これが「自明の零点」ということになります。

 ……ん?

 sが負の偶数のとき、0になる……??

 ゼータ関数とは

   ……※

なのだから、たとえば s=−2 のとき、

   

となり、これが0になるってどういうこと……??

 これまでゼータ関数を考えるときには、sは1より大きい整数でした。でも、この先、定義域を広げてもゼータ関数の値が得られるようにするには、※の式に頼っていられなくなってしまいました。

 なんとも不思議な話です。『素数に憑かれた人たち』では、このことの説明がある程度なされているのですが、言わんとすることはなんとなくわかるけれども、「関数の定義」とはなんぞやということと、そもそも「ゼータ関数」とはなんぞや?という根本的なところでふつふと疑問がわいていきて、なかなか「わかった」とはいえない感じがします。

 なお、Ikuro's Home Page の オイラーとゼータ関数 の最後のほうで、この不思議さのことが書いてあって、とても助かりました。なぜこういうことがおこるかというと“複素関数論の解析接続”にそのわけがあるのだそうです。

 Amazonで『素数に憑かれた人たち』を買うときに、レビューの中に「複素関数論の結果が使われているので、知っていればよりわかりやすいはず」と書かれてあるのを読んで、「知らないなぁ、わからないかもなぁ」とある程度覚悟はしていたのですが、やっぱりここを避けては通れないようです。
『素数に憑かれた人たち』 | permalink

素数定理・06

 Li(x)は 1/logx を積分したものなのだから、Li(x)のグラフの接線は 1/logx になります。そして、この 1/logx というのは「素数定理・03」で示したように、xの近傍における整数が素数である確率です。

 このあと本では

 この関数が数論で重要なのは、そういう理由である。Nが大きくなると、Li(N)〜 N/logN となることがわかるだろう。
 と書いてあるのですが、なぜそうなるのかが私にはわかりません。

 確率の理解が足りないのだろうか。でも、これだけ基礎的なことを丁寧に書いてある本なのだから、本に書いてあることだけできっと理解できると思うのですが。

 接線の話がきて、確率の話がきて、上記の結論が出されているので、確率はとりあえずおいといて接線の話からごく単純に勝手に考えると、Li(x)のグラフのそれぞれの点での傾きが 1/logx なのだから、xが十分に大きくなってまるで1次関数のように直線のグラフに見えるとしたら、N×(1/logN)=Li(N) となる、と考えることはできます。でも、こんな理解でいいのだろうか??

   


 で、いろいろもやもやしているけれど、とりあえずここを納得したとすると、「素数定理・02」の最後で示した式

   

と、Li(x)〜N/logN から、おのずと次の結論が得られます。

   

 これが「改訂版 素数定理」です。むしろこちらのほうが一般的には「素数定理」とされているようです。そして、こちらのほうが精度がいいんだそうです。
『素数に憑かれた人たち』 | permalink

素数定理・05

 私は、仕事として関わるのは中学校の数学がメインで、あと小学校の算数をちょこちょこやるくらいなので、高校数学からは20数年間遠ざかっています。たまに“趣味の数学”として必要があるときに復習するくらいで。

 そんな私でも、微分積分の基本的なイメージは頭の中に残っています。しかし、イメージがあるのは3次関数などのごく初歩的なもの。対数関数などが出てくるとさっぱり忘れてしまっています。そもそも勉強したことがあるのかどうか。

 というわけで、またまた高校数学の教科書と問題集をめくってみることにしました。教科書は数年前に買いそろえておいたわりと新しいもので、問題集は自分が高校生のときに使っていたものです。

 対数関数が関わる積分は、数学靴痢崟冓とその応用」に入っていました。logがからむ式は「部分積分法」という項目の中にちらほら見受けられます。問題集のなかで「1/logx」についてなにかコメントされていないかさがしてみたら、ありました。

「(改訂版)チャート式 基礎からの数学掘廖平研出版・昭和58年)p162より。

 なお、高等学校の学力の範囲内では、1/(x^2+1)、1/√(1−x^2) などは積分できない.しかし、これらは、三角関数の逆関数を考えれば、不定積分を求めることができる.しかし、次の関数は逆関数などを考えても、積分はできない.

 このあと「我々の知識で積分できない関数例」が示されていて、その中に1/logx が入っています。1/xlogx は積分できるのに、ふしぎだな〜。

 さて、『素数に憑かれた人たち』では「対数積分関数」Li(x)のグラフも示されています。で、ためしにGRAPESで入力してみましたが、グラフは描いてもらえませんでした。で、少々乱暴ではありますが、手描きで描いてみました。かなり適当です。だいたいの形だけ。

   

 Li(x)のグラフの最初のところを丁寧にみていくと、0からはじまって負になって、x=1のところで無限大に沈み、沈んだところからもどってきて、1.45のあたりで0になり、このあとは単調に増加していきます。1/logx のグラフと見比べると、このグラフの形は素直に納得できます。

   



 だけど、素数定理とLi(x)の関係を考えるときに、この最初の部分はほとんど考えなくていいことになります。実際、目盛りが1000くらいになってくると、Li(x)のグラフは0から単調に増加しているように描かれています。いろいろなサイトで見かける対数積分関数の下限が0ではなく2となっているのは、そのためかもしれません。

(つづく)
『素数に憑かれた人たち』 | permalink

素数定理・04

 今度は、『素数に憑かれた人たち』の第7章にある「改訂版 素数定理」をみていきたいと思います。といっても、こちらのほうは、いちばん最後の肝心なところが理解できていないのでした。とりあえず、わかるところまで考えてみたいと思います。

 「素数定理・02」で示したように、π(x)はlogxを使った式で近似できるらしいことがわかってきました。ところで、logx の導関数は 1/x です。グラフで考えれば、logx のグラフの接線の傾きは 1/x ということになります。大昔に習ったのでしょうが、いまや頭の中に影も形もありません。ので、とりあえず久しぶりにGRAPESを使ってグラフで確かめてみました。赤は y=logx、青はpをパラメータとして y=1/p(x−p)+logp の残像を残したものです。

     

なるほど、確かにそうなるみたいです。

 で、 y=log x の導関数が y=1/x であるならば、y=1/x を積分すると y=log x になるはず……

 『素数に憑かれた人たち』では、このあと微分積分のごくごく基本のおさらいに入っていき、それがひととおり終わると、「1/log t という関数を考えよう」というふうに話がもどっていきます。この関数はどこからきているのか、密度の 1/logN からきているのか、ねらいがはっきり書かれていなくてとまどってしまうところです。

 で、そのとまどいはおいておいて、1/logt の積分を考えることにします。普通に積分の記号を使って表すと、

     

となります。この関数には「対数積分関数」という名前があって、ログ・インテグラルから Li(x) という記号が与えられているそうです。

 積分といえば面積なので、Li(t) は y=1/logt のグラフの下にできる面積(下図の黄色の部分)ということになります。(本では、x<1 や x=1 の部分をどう考えるのかについても説明がありますが、ここでは省略します)

     

 上のグラフもGRAPESで描きました。点P(p、0)と点Q(p、1/logp)を結ぶ線分PQを設定して、pを0.05の幅で増加させながら残像を残してみました。残像ってこんなときほんとに便利だなぁ。(もう少しpの幅を狭くすればよかったな)

(つづく)
『素数に憑かれた人たち』 | permalink

素数定理・03

 さて、その素数定理

     

 からの帰結として、次の2つの式が示されています。

     

 最初、ここはだいたいわかると思って読みとばすという大胆なことをしてしまって、しばらくして全然わかっていないことに気づき、あとで読み返しました。読み返してみてもまだよくわかりません。

 とりあえずみていきます。

 1からある大きなNまでの自然数を考えたとき、その数の大半がNと似たような大きさになります。たとえばN=100万のときを考えると、

 1ケタの数……1〜9の 9個
 2ケタの数……10〜99の 90個
 3ケタの数……100〜999の 900個
 4ケタの数……1000〜9999の 9000個
 5ケタの数……10000〜99999の 90000個
 6ケタの数……100000〜999999の 900000個
 7ケタの数……1000000の 1個

なので、全体の90%が6ケタの数になります。帯グラフに示してみるとこんな感じです。↓

   

 6ケタの数は、2ケタの数よりは7ケタの数に近いといえます。ということは納得できるものの、一瞬、混乱してしまいます。というのも、これまで1つ1つの数を「1個の数」として考えてきたのに、突然、大きさの話が出てくるからです。

 とりあえず、「大半の数がNに近い」ということは納得できました。

 で、Nまでの素数の個数が N/logN であるのならば、この範囲の素数の密度は 1/logN となる、と話が展開していきます。これはいわゆる普通の密度と同じように考えていいのだろうか?

 たとえば、15km^2の土地に3万人の人が住んでいたとき、人口密度は   

   30000÷15=2000(人/km^2)

となるように、Nまでの素数の個数が N/logN 個であるとき、この範囲の素数の密度は

   N/logN ÷ N = 1/logN 

というふうに。自然数1個に素数が何個あてがわれるかという考え方には若干の戸惑いがありますが、普通に密度として考えるとそうなります。

 そして、「1からNまでの自然数のほとんどはNと似た大きさなのだから、Nの付近では素数の密度は 1/logN だと結論しても、そう的外れではない、実際そうなる」と話は続いていきます。「粗っぽい論理で」という注釈つきで。

 実際そうなるというのはどういうことかというと、

   100、500、1000、100万、1兆の
   それぞれ最後の100個の数の中にある素数の個数は、
   25、17、14、8、4

   対応する100×(1/logN)は、近い整数で考えると、
   22、16、14、7、4

となるんだそうです。

 逆にいえば、1から1兆までの素数の密度は 1/log1兆 で、この密度を採用するならば1〜100の間にも 100×(1/log1兆) の素数が含まれることになるけれど、1〜100に対しては 1/log1兆 という密度はあまりアテにならない、ということなのだろうか。

 たとえば、容器A、B、C、D、Eに食塩水が入っていて、それぞれの量は A…0.1g、B…1g、C…10g、D…100g、E…1000g であり、この5つの容器の食塩水を混ぜてたら濃度が14%になったとする。混ぜた食塩水はほとんどの容器Eの食塩水だったのだから、容器Eの濃度はもともと14%に近いと考えてよい、という具合に。微妙に違うような気もするのですが。いや、全然違うような気もします。

(ここでの理解がもう1つなので、「改訂版 素数定理」のほうの最後のほうでわからなくなってしまうのでしょう。)

 で、密度のことを別の言い方にかえると、「大きな数Nの付近では、ある数が素数である確率は、〜1/logN」ということになります。なるらしいのです。ここもまだ、理解できていないというか、納得できていないところです。

 素数分布の話は、だんだん稀薄になっていくことと無作為性に大きな特徴があると思うのですが、いまは「だんだん稀薄になっていく」ことの近似式としての素数定理を考えています。でも、何かにつけ、素数の無作為性(群がり方と広がり方、ランダムネス)のことは気にかかってくるのでした。

 それはひとまずおいておいて、今度は「改訂版 素数定理」をみていきたいと思います。

(つづく)
『素数に憑かれた人たち』 | permalink

素数定理・02

 では、ある自然数までに素数がどれくらいの割合で含まれているのか考えていきます。「素数定理・01」の最初であげた例では、普通の割合のように (素数の個数)÷(自然数の個数) で計算してみましたが (←これは私が勝手に考えたことです)、これから先は (自然数の個数)÷(素数の個数) という計算を考えることにします。

(とさらりと書いてしまいますが、なぜそうすることにしたのか、実はとても興味があります。でも、その理由は私にはまだわかりません。)

 つまり、N/π(N)を考えていくわけなのですが、これを計算していくと、

 N=1,000のとき、1000÷168=約5.9523
 N=1,000,000のとき、1000000÷78498=約12.7392
 N=1,000,000,000のとき、1000000000÷50847534=約19.6666

となります。

 この計算をどんどん続けていくと、Nを1000倍していくごとに、N/π(N) は6.8〜7くらいずつ増えていくらしい、ということが見えてくるようなのです。(すごいなぁ)

 一方がかけ算で増えていくときに、もう一方がたし算で増えていく関数といえば…?ということで浮上してくるのが指数関数。

 たとえば5の累乗を考えたとき、指数が1、2、3、4、5、…と1ずつ増えていくと、5の累乗は5、25、125、625、3125、……というふうに5倍5倍で増えていきます。これは、 (たし算で増えていく変数)→(かけ算で増えていく変数) の関数といえます。

 いまは、 (かけ算で増えていく変数)→(たし算で増えていく変数) の関数がほしいので、指数関数の逆関数である対数関数を考えることになります。(本でそういう書き方がしてあるわけではないのですが、だいたいそんなところだと私は理解しました。)

指数関数の逆関数が対数関数であることのイメージ図↓
   

 そんなこんなで、対数関数をもってきてみたところ、実際に N/π(N) は logN に近づいていくらしいのです。

 N=1000のとき、log N は 約6.9077
 N=1000,000のとき、log N は 約13.8155
 N=1000,000,000のとき、log N は 約20.7232
 
(すごいなぁ。なんでそんなことになるんだろ!?)

 以上のことを漸近的に近づくという意味を表す記号「〜」を使って書くと、

     

となります。これを次のように変形した式が「素数定理」なんだそうです。

     

(つづく)
『素数に憑かれた人たち』 | permalink

素数定理・01

 たとえば、

 1から10までの中にある素数は 2、3、5、7 の4個
 1から20までの中にある素数は 11、13、17、19 を加えた8個
 1から30までの中にある素数は 23と29 を加えた10個

だから、

 10までに含まれている素数の割合は 4÷10=0.4
 20までに含まれている素数の割合は 8÷20=0.4
 30までに含まれている素数の割合は 10÷30=約0.3

となります。上の例ではあまりにも数値が小さくてこの先どうなるのか見当もつきませんが、これを1000まで、100万まで、1億まで、1兆までみていくと、含まれる素数の割合に何か規則はあるのだろうか?

 というのが、いわゆる素数定理のお話なのだと思います。

 これから、『素数に憑かれた人たち』を参考文献として、素数定理について考えてみます。この本では第3章で「素数定理」、第7章で「改訂版 素数定理」が示されています。まずは第3章から。(なお、私が自分で納得しやすいようにかなり言葉遣いを変えているので、不正確なところもたくさんあると思います。)

 さて、ある自然数より小さい素数の個数について、もっと幅をぐんと広げて考えてみると、

 1,000までにある素数の個数は 168個
 1,000,000までにある素数の個数は 78,498個
 1,000,000,000までにある素数の個数は 5,0847,534個

となるんだそうです。このように、自然数を1つ決めたら、その自然数より小さい素数の個数も決まるので、自然数Nと、自然数Nまでにふくまれる素数の個数は関数で表すことができます。これにはπ(パイ)の文字があてられているそうで、すなわち素数個数関数はπ(N)と示されるんだそうです。たまたまπの文字があてられているだけで、円周率πとはなんの関係もないとか。

 これまで例に出した素数の個数を、πを使って表してみると、

 π(10)=4
 π(20)=8
 π(30)=10
 π(1,000)=168
 π(1,000,000)=78,498
 π(1,000,000,000)=5,0847,534

ということになるんでしょうか。とりあえず N=100 くらいまでのグラフを自分で描いてみることにしました。



(つづく)
『素数に憑かれた人たち』 | permalink
  

| 1/2PAGES | >>
サイト内検索