複素関数を解析接続してゴリゴリに数値積分する方法 (1) ~物理学の視点から~


自己紹介

筆者は現在大学院の修士2年です。専攻は物理学で、特に複素作用のある系における数値積分手法の改良・開発的な研究をしています。

タイトルに「~物理学の視点から〜」とありますが、あくまで僕が専攻している分野でのお話であるので、注意してください。

物理と積分の関係

 物理学は何かしらの物理量(エネルギーやポテンシャル)の期待値を計算します。「期待値」とは高校数学の確率で習う「期待値」とほとんど意味は同じだと考えても良いと思います。

高校数学における確率変数$X$の期待値$E(X)$は、$X$がとりうる値$x_i$にその値が観測される確率$p_i$をかけて、和をとったものとされます。
$$E(X) = \sum_{i=1}^n x_i p_i$$

物理学における観測量$O(x)$の期待値は、一般に$\langle O(x) \rangle$のように書きます。ただし、$x$は実数とします。この時、対応する「確率」$p(x)$は$S(x)$を用いて
$$p(x) = \frac{e^{-S(x)}}{\int_{-\infty}^{\infty} dx e^{-S(x)}}$$
と書き表されます。よって、期待値$\langle O(x) \rangle$は
$$\langle O(x) \rangle = \frac{\int_{-\infty}^{\infty} dx O(x)e^{-S(x)}}{\int_{-\infty}^{\infty} dx e^{-S(x)}}$$
とかけます。高校数学の確率の期待値とほとんど同じ式になっていることがわかると思います。

関数$S(x)$は「作用」と呼ばれ、物理学では1番重要といっても過言ではない(汎)関数です。この作用を用いて積分を実行してやれば、物理量が計算できたことになります。このとき、積分に大きな寄与がある$x$は作用$S(x)$を最小にする値です。(最小作用の原理)

と....ここまではあくまで作用$S(x)$が実数の場合の話です。

様々な系でこの作用が複素数になることがわかっています。このような系では先ほどの「確率」とみなせていた量が「確率」と解釈できなくなります。なぜなら、確率は正の実数でないといけませんが、$S(x) \in \mathbb C$だと「確率」が複素数になってしまうからです。

問題の本質は何か?

 先ほど「確率」と解釈したい量が「確率」と解釈できないと述べました。一方で、こういった見方もあります。もう一度「確率」の式に戻ります。
$$p(x) = \frac{e^{-S(x)}}{\int_{-\infty}^{\infty} dx e^{-S(x)}}$$
もし、分母が激しく振動する複素関数で、ナイーブな離散化で数値積分を行った時、計算結果が0になるという状況もありえなくもないです。

このような系に対しては、未だに有効な数値積分の方法が見つかっていないというのが現状です。(少なくとも僕が専攻している分野では)

以下では、振動する複素関数に対して有限な意味のある値を得る数値計算手法を解説します。

解析接続という解決策

 答えはいたってシンプルで、「$x \rightarrow z \in \mathbb C$に解析接続し、Im$S(z)=$ constとなる経路に沿って積分をしてやろう」という話です。もちろん作用$S(x)$の正則性は仮定してます。Im$S(z)=$ const であれば、複素関数は振動しないので、積分できるだろうというお話です。

解析的にやってみる

具体例を示した方が分かりやすいので、解析的にできる積分を考えます。作用は
$$ S(x) = \frac{i}{2} x^2 $$
を用いて、以下の積分$I$を考えます。
$$ I = \int_{-\infty}^{\infty} dx e^{-S(x)}$$
ナイーブに離散化 (例えば、台形公式) だとうまくできないです。

解析接続して積分をやってみます。
$$S(x) = \frac{i}{2} x^2 \rightarrow S(z) = \frac{i}{2} z^2$$
積分経路を決める条件「Im$S(z)=$ const」ですが、作用に寄与が大きい$z$での虚部の値で経路を決めてやります。寄与が大きい$z$を$z_\sigma$とおきます。$z_\sigma$は、作用の一回微分をとれば分かります。
$$ \frac{\partial S}{\partial z} = 0$$
つまり、$z_\sigma=0$です。よって、経路を決める条件は
$$\text{Im} S(z) = \text{Im} S(z_\sigma) = 0$$
です。

具体的にどんな経路をとれば良いか見てみます。$z = x+iy$ とおきます。もちろん$x, y$は実数です。
$$\text{Im} \left[ i (x+iy)(x+iy)\right ] =0 \
\leftrightarrow y^2 - x^2 = 0$$
虚部が一定の値(ここでは0)の経路は、$y=\pm x$の2通りあるということです。この経路に沿って積分してやれば、良いことになります。

2つの経路のどちらが正しい経路なのでしょうか?

(i) $y=+x$の経路
$z = x+iy = (1+i)x$なので、Jacobianを考慮すれば、積分$I$は

\begin{align}
I &= \int_{-\infty}^{\infty} dx e^{-S(x)}\\
&= \int_{-\infty}^{\infty} dx e^{x^2} (1+i)
\end{align}

となります。これは収束しない積分なので、この経路は不適切、ということになります。

(ii) $y=-x$の経路
$z = x+iy = (1ーi)x$なので、Jacobianを考慮すれば、積分$I$は

\begin{align}
I &= \int_{-\infty}^{\infty} dx e^{-S(x)}\\
  &=\int_{-\infty}^{\infty} dx e^{-x^2} (1-i)
\end{align}

これは普通のガウス積分なので、積分できます。答えは、

I = (1-i) \sqrt{\pi}

です。1次元のガウス積分だと「Im$S(z)=$ const」にとって積分する、というありがたみがよく分からないですね...

まとめ

僕の専攻分野では、積分を複素平面に解析接続し、「Im$S(z)=$ const」となる経路に沿って積分を実行してやろう、という試みが最近話題です。

実際には、積分をモンテカルロやハイブリッドモンテカルロで実行します。この時、空間3次元、時間1次元の4次元空間で積分を行いたいのですが、そもそも全ての経路を見つけ出せるのか、など様々な問題が未解決な状態です。(だから、研究テーマとしてやりがいがあるわけですが...)

そこらへんについては、また次の記事で非ガウス型の積分を例に解説したいと思います!