読者です 読者をやめる 読者になる 読者になる

0x90

一回休み

結城浩の挑戦状を見て思ったこと

このブログは技術系のことばっかり書き留めていたんだけど、たまにはアカデミックなことも書いてみようかと思って久々に筆を取りました。

というのも、この記事

motcho.hateblo.jp

を見て、気になったことがあったからです。ブコメにも書いたけれど、100字は狭すぎます。

なお先に行っておきますが、別にぼくはこの著者の方の感動を腐そうとかそういう根性ではなく、まあこういう話もあるよ程度の感じで適当にこの記事を書いています。あと、ぼくは純粋数学のバックグラウンドがあるわけではなく多少理論物理学をやっている程度なので、物理屋から見た数学、的な色が強いかもしれません。

それでは見ていきましょう。なお、簡便のため以下では特に

{
\frac{5}{\frac{5}{\cdots}}
}

を考えます。

数学と定義

上の記事を見て一番に思ったことはブコメに書きましたが、『定義されていないから解析接続したと思って黄金比でもいいのでは』ということです。

ここでまず大事なのは、『定義』ということです。数学というのは基本的には『AならばB』を考える学問です。そしてこここそが、他の自然科学と数学とを異ならしめているところではないかと思います。他の自然科学、例えば物理や化学、生物学といったものは、自然がどのようなルールで動いているかを探ってそれを記述するのに数式を使う学問だからです。その点、数学はむしろ論理学に近いといえるでしょう。

余談になりますが、理論物理学というのはちょっと特殊で、結構な数の人たちが『AならばB』のようなことを考えています。しかしそれをじゃあ外挿して自然を記述することまでに適用していいかというと、それには慎重であるべきでしょうが。

さて、というわけで数学は定義が大事であるという話でした。すると、上記

{
\frac{5}{\frac{5}{\cdots}}
}

のような形は定義されているでしょうか…?正直、この数字の定義については何も書かれていないのでどうしようともはや受け取り手の勝手ではあるわけです。C++で言うところのnasal demon, 鼻から悪魔というやつです。ですがまあ、一つの解釈は、次の漸化式で定まる数列{a_n}の極限{\lim_{n\to\infty} a_n}でしょう。

{
a_{n + 1} = \frac{5}{a_n}
}

するとこの時、元ブログにありますように、残念ながらこの数列の極限は求まりません。

解析接続

上の形の数列の極限を取る操作は定義されていません。このように、そのままではきちんと定義されていないものを考える際にしばしば行われる操作が「解析接続」と呼ばれる操作です。解析接続では、定義されていない量を計算する際に「形式的にもとの量と同じ形になる複素関数」を考えます。というと何かめんどくさそうな話ですが、この場合には例えば

{
f_{n + 1}(z) = \frac{5}{z + f_n(z)}
}

なる関数列{f_n(z)}を考えてみましょう。すると、この漸化式は高校数学程度の知識で解けて(ぼくはすっかり忘れていたのでぐぐって思い出しましたが…)、

{f_n(z) = \frac{1}{\beta + \left(\frac{1}{f_0 - \alpha} - \beta\right)\left(-\frac{z + \alpha}{\alpha}\right)^n} + \alpha}

となります。ただし{\alpha}特性方程式{\alpha = \frac{5}{\alpha + z}}の解の一つで、\beta{-\frac{1}{2\alpha + z}}です。特にzが正の実数の場合を考えれば、多分{z > 0}のとき{(-\frac{z + \alpha}{\alpha})^n}は収束しますので全体も収束し、{f_{\infty}(z) \equiv \lim_{n\to\infty} f_n(z)=\frac{\sqrt{z^2 + 20} - z}{2} }となります。

さて、この{f_n(z)}で、{z=0}としてみましょう。すると今や漸化式は

{
f_{n + 1}(0) = \frac{5}{f_n(0)}
}

となり、 f_n(0) = a_nとなりました。このときの\lim_{n\to\infty} f_n(0)こそが、「形式的にもとの量と同じ形になる複素関数」なわけです。すなわち、形式的に書いてみれば、

{
\frac{5}{\frac{5}{\cdots}} = f_{\infty}(0)
}

と思えるわけです。 もちろん上に書いたように\lim_{n\to\infty} f_{n}(z) z > 0でしか定義されないので、{f_{\infty}(0)}は定義されていません。ですから、即

{
\frac{5}{\frac{5}{\cdots}} = f_{\infty}(0)
}

とするのは間違っています。しかしながら、ここで

{
\frac{5}{\frac{5}{\cdots}} \equiv \lim_{z\to 0}f_{\infty}(z)
}

とみなす、というオレオレルールを加えたらどうでしょうか? \frac{5}{\frac{5}{\cdots}}ははなから定義されていません。定義されていないものに対して何をやっても勝手ですから、このオレオレルールを加えて計算してあげてもいいでしょう。もちろんオレオレルールを加えたことは明記する必要がありますし、どのようなルールを加えるかで一般には極限値は異なります。しかしながら、このようにオレオレルールを加えて定義されていない量を定義する操作は時として有用です。これが解析接続と呼ばれる操作になります。

この関数列f_{\infty}(z)を用いて解析接続するとブコメにぼくが書いたように、

{
\frac{5}{\frac{5}{\cdots}} = \sqrt{5}
}

となってくれます。

小難しい話なのでこの段落はスルー推奨ですが、なぜ複素関数で考えたかを書いておきましょう。それは、複素関数ではテイラー展開のすごい版ことマクローリン展開というものが存在するためです。すると、普通に発散する点のまわりでは他に発散する点がない限り、任意の複素関数f(z)zのべき展開f(z) = \cdots + \frac{a_{-1}}{z} + a_0 + a_1 z + \cdotsで書かれます。他の発散する点より外側の表示を与えるのが解析接続にほかなりません。

解析接続と自然

さて、以下余談です。解析接続が実際どう使われているかの話を少し書いておきましょう。

そもそも、そんなオレオレルールなんて意味ないじゃん!と思われる方がほとんどでしょう。もっともなご意見です。しかしながら、実はこのオレオレルールは理論物理においてしばしば登場します。おそらく最も有名なものは弦理論におけるゼータ関数正則化

{
1 + 2 + 3 + 4 + \cdots = -\frac{1}{12}
}

というやつで、もしかしたらみなさんも見たことがあるかもしれません。

なぜこの手の怪しい操作が理論物理に出てくるかというと、人類の知性があまりに低いために正しい計算方法がわからず、本来は正しくない計算の順序で物理的な量を計算してしまっているから、ということなのだと思います(まあ、本質的に発散が出ると思われているものもあるんですが)。まあ上記のゼータ関数正則化はまだ別のやり方もあるのでマシな方だったように記憶していますが、特にひどいのが場の量子論と呼ばれる分野での計算で、ここでは漸近展開に伴う発散級数や、量子補正にかかわる無限大といった、まあ平たく言ってしまえば上の連分数{\frac{5}{\frac{5}{\cdots}}}の親玉のような「未定義量」がたくさん出てきます。前者はlattice、後者は正則化と呼ばれるオレオレルールを加えることで計算できる量が出てきます。

では、どんなオレオレルールを加えるかということはどうやって決まっているのでしょうか?それは、自然です。最初にも書いたように、ここが物理と数学の大きな違いでしょう。なぜかはわかりませんが、latticeを使って解析接続した理論は現実とよくあっています。正則化を行って、くりこみという操作を行うとオレオレルールに依存しない量を出すことができ、これもなぜか実験と極めてよく合います。なんでそうなっているかは、今この地球上で誰もしりません。不思議な話です。