- 高次
元での数値積分とか(モンテカルロ積分を甘く見る
な!?)。
<в> = ∫DU B
exp(-S(U))
この図柄といってもよい式はQCD(量子色力学)での数値計算である。もっともここで図柄と言っていることからも私のような凡人には説明不可能な積分であ
る。QCD自体は強い相互作用とかクォークとかを扱うための量子力学である。さて、この積分の次元だが通常、高次元と言えば想像するのは4次元とか5次元
とか、一時話題にになった超紐理論では10次元なんかを想像するだろうがここで扱う数値積分はそれこそ万、とか億とかいった次元の積分である(らしい)
言って見れば超高次元である。
このような高次元での積分はモンテカルロ積分を行うのが常套手段である。しかしこの計算方法では正確な誤差を見積もるのは難しい、計算自体が統計的なもの
だからだが乱数を使っているとは言え理論的には計算結果は保証されているから問題は数値計算での乱数のばら撒き方の良し悪しに依存する。
大雑把だが次元dimとばら撒き数Nの間には 誤差=1/(N^(1/dim))
という関係がある。10次元の計算でN=10000ばら撒いたとしても精度は0.4
程度である。N=10000000000のばら撒きでようやく0.1程度である。手持ちのパソコンで計算可能な世界では無いことがわかる。
※一応CCTLでは積分次元に制限は無いので実行可能だがパソコンの寿命の方が遥かに先に来てしまうだろう。
格子QCD(有限要素法的なQCDで数値計算可能な世界にして計算する方法)では(4*Nx*Ny*Nz*Nt*8)次元の積分が必要になるらしい。
Nx,Ny,Nz,Nt等の格子数をせいぜい4個にしても積分次元は8192次元積分!!で
ある。
モンテカルロ積分自体もそれ相応に洗練されたものでなければスパコンでも膨大な計算が必要になる。そのため、たかがモンテカルロ積でもさまざまな研究がな
さ
れているようである。モンテカルロ積分は奥が深いのである。
ちまたの教科書やネット上からもモンテカルロ積分の情報は容易に得られるが、せいぜいπを計算してみるとかの2次元の積分であろう。そう、モンテカルロ積
分が本当に必要になるのは本当の意味での高次元の場合である。そして
けっしてインチキな積分法ではないということだ。しかしこのような情報や教育ではモンテカルロ積分自体は軽視されるかややもすればインチキ
とも捕らえられかねないのは残念である。
CCTLで6次元積分を行った例としてヘリウムの基底状態計算を独立粒子モデルで計算して電子間相互作用項の平均エネ
ルギーで補正した例を
挙げておこう。当然
相当遅い計算である。CCTL内部の小さなインタプリタが相当遅いのでC言語か何かで直接書けばCCTLよりは百倍は早いはずであるが同じプログラムを
CCTLほど簡易には書けない点ではCCTLは便利である。(計算時間を我慢すればであるが)
|