ぼくが数値計算をするわけ

身近に速いコンピューターが溢れていて,比較的簡単に数値計算ができるようになって久しい.PythonやJuliaなどのスクリプト言語もライブラリーが充実していてソフトの発展も素晴らしい.こういう環境は自分が学生のときとは比べ物にならない.研究における数値計算の役割も変わってきているのかも知れない.その分析は自分の中では十分できていないが,自分自身がなぜ数値計算をするのかの理由は昔から変わっていない.一言では説明できないし,研究室紹介などで説明するのも面倒なので一度書き残しておこうと思う.昔話が多くなりそうだが,興味のある方は目を通してもらって,感想を聞かせてくれると嬉しい.

はじめに動機を

「数値計算には興味はない.自分は解析的な研究をしたいです」という学生さんがよく現れる.自分の興味が明確になっていて素晴らしい.もう私から何もアドバイスもないので,それ以上話すことはない.興味の持ち方は人それぞれなので,私の興味を押し売りするつもりは毛頭ない.ただ,私の思考回路を少し覗いてもらうのも悪くはないかな...というのが,この投稿の動機の一つでもある.

「数値計算に興味あって,自分でも何か数値計算で研究してみたいです」という学生さんはたまに現れる.自分の興味が明確になっていて素晴らしい.もう私から何もアドバイスもないので,それ以上話すことはない.ただ,君の思うてる数値計算は私の思うてる数値計算とはきっと違うような気がするのです.どっちも計算機を使って数値を出すので同じと言えば同じなのだろうけど,なんかマインドがちがうんじゃないかなぁと思う...このギャップを埋めてみたい.これも動機の一つである.

私の研究テーマは「ランダム系の統計物理」である.最近,これに関する学部生向けの短い解説を書く機会があった.思う存分書かせてもらったのだけど,数値計算のことを書こうとするときにはもうページ数が残されていなかった.何か書きたいことがあったわけでもないので,それはそれでよかった.学問的なことではなくて,若い学生に聞いてもらいたい,そう,解説ではなくて,愚痴なのかもしれない.

きっかけの3つの論文と記事

学部生のときには数値計算に全く興味がなかった.当時,数値計算の演習はあり,マクスウェルの速度分布を見る多粒子衝突シミュレーションの課題などがあったが,大型計算機センターの大きなプリンターでコードを印刷してしまい,紙が無駄だと怒られたことくらいしか記憶にない.最初に,モンテカルロ法のプログラムを書いたのは卒業研究で,それも先輩のプログラムを真似てなんとか卒研発表にたどり着いた程度であった.若い人はみんなメルセンヌツイスターである意味で乱数の怖さは知らないだろうが、この卒研では合同乗算法を自分で書いて…といっても書くほどのプログラムではないが、とにかく適当な定数を使ったもんだから、ツボにハマって変な時系列を観測して困ったことだけは覚えている.

その卒研のために最初に読むように言われた論文が,
A.T.Ogielski,Dynamics of three-dimensional Ising spin glasses in thermal equilibrium, Phys. Rev. B 32, 384(1985)
であった.とにかく,学部生には難しく...数値計算の論文なので,数式が難しいということはないけど,背景がよくわからないし,グラフの意味もさっぱりよくわからなかった.セミナーでしっかり読ませてもらって,勉強になった.お恥ずかしいことではあるが,Renormalization group を日本語ではくりこみ群ということをそこで知った.グラフの見方もよくわかっていなかった.一つのグラフにこれだけじっくり意味を見るきっかけを与えてくれたのは根本さんだった.論文に明記されていなくても,グラフから見てわかることは本当にたくさんある.実験家が論文の中の実験データはじっくり見るけど、実験データの解釈は話半分にしかよまないというようなことを聞いたことがあるが、それと同じ感覚は数値計算の論文にも当てはまる.さて、この論文は3次元イジングスピングラス模型が有限温度でスピングラス相転移を起こすことを多くの人が信じるようになったきっかけの論文の一つである.マルコフ連鎖モンテカルロ法でダイナミクスを見ていて,専用計算機を使った一年くらいかけた計算である.相関時間の評価をしていて,その発散する温度としてのスピングラス転移温度を見積もっている.これは,同時に,スピングラス相の中に入れば,モンテカルロ法は使えないことを意味している...と思った.一言もそんなことは書いていないけど,知りうる知識を集めるとそう結論づけることになる.本当に知りたいことは,スピングラス相の性質なんじゃないのか?

大学院に入ってから,先輩に教えてもらったのだと思う一つの解説記事があった.
固体物理 Vol. 24 (1989) No.3 (通巻277号) 特集号 計算物理「ランダム・スピン系における数値計算」 西森秀稔
スピングラスを中心に当時の研究成果がまとめてあった.Ogielskiの研究も含まれていたと思う.この記事は全体的に数値計算の難しさが述べられていて,例えば高温展開の展開次数が増えていくたびに相転移の有無が変わっていくような歴史が説明されていて,まあ,こんなことでは数値計算は信用できないようねー的な雰囲気が醸し出されていた.計算物理学の黎明期でもあり、これから国内でも計算機を使った物理学が展開されていく…特集号だったのだろうが,微塵もそんなことを感じなかった.

そして,もう一つの解説記事が...完全に記憶が薄れていて,今となっては原著を確認できないので,ひょっとしたら夢かも知れない.京大基礎物理学研究所が刊行している「物性研究」に田崎さん@学習院の解説記事だと思う.何の解説だったかが思い出せない.ランダム磁場イジング模型の相転移の解説と思っていたが,その解説を見返しても思っている記述は出てなかった.1990年のはじめころ,スーパーコンピュータと呼ばれる高速なコンピュータが身近に使えるようになり,計算物理学が定着してきた.猫も杓子も...というわけでは無いが,計算機シミュレーションを使った物理学の研究が盛んになっていた.優れた研究もたくさんあったが,「計算しました」という銅鉄主義的な研究も多かったのだと思う.後者が増えてきた状況を嘆いて,田崎さんは「計算機を使うと〇〇になる」とその記事に書かれていた...と記憶する.密かに田崎さんに憧れていた大学院生にとっては衝撃だったのです.そのころHaldane 問題でも活躍されていたので影響力は大きかったと思うが,私はそれよりも,Lee-Yang Zeroの研究や上部臨界次元の不等式証明など,あまり知られていないと勝手に思っている渋い研究に惹かれていて,にわかファンじゃなくてデビューから追っかけてたんだぞー的に思っていたのです.かなり大人になってから,何かの議論のときに田崎さんにその論文を教えてもらったときに,「あっありがとうございます」とお礼を言ったことを覚えている.本当は「そっ,その論文は穴があくほど読んでいて,よく知っています!」とは言えなかったのです.というわけで,「計算機を使うと〇〇になる」コメントは「衝撃だった」のです.同時に,せっかく大学院生として数値計算をするようになったんだから,田崎さんにも認めてもらえるちゃんとした数値計算ができるようになろう...とも思った.

ちゃんとする数値計算

「ちゃんとする」とはどういうことかはよくわからない.ただ,もともと数値計算に興味があったわけではなかったので,自分自身の数値計算結果が納得できるようになればよいとは思っていた.「納得」もちょっと違う感じかも知れない.説得に近い感じかもしれない.自分を説得できるかということだと思う.結果として出てくるグラフはよく見る.数字は見てもよくわからないことが多いから,グラフにしてみる.そして,とにかくよく見る.ここからわかることは全部絞り出そうと思う.だから,誤差棒のないグラフを見せられるといつも困惑するのだよね.どう見てよいかがわからないから,ついつい「このグラフはどういうつもりなの?」と聞いてしまう.怒ってるからじゃないのだよ,主張がわからなくて困惑しているだけなの.だから,誤差棒はつけよう.そして,誤差の大きさで主張したいことは変わるから,できるだけ誤差棒は小さくなるように頑張るのだよ.昔,計算物理の研究会で菊池誠さんが二次元イジング模型の動的臨界指数の評価をしていて,確か結果が2.05とかそんな値だったかな...その講演に対して,「それにはどんな意味があるのですか?」という質問が聴衆から出たのだ.それに対する回答が「これはけっして,π-1ではないということです」だった.会場には笑いがあって冗談と受け止められたのかもしれないけど、これには正直驚いたのですよ.2.05には当然誤差がついていて,2.14には絶対に到達しない自信があるという主張だったのだ.「ちゃんと」しているのだよ.ただ,プログラミングして,計算機を動かしただけでは,そこには到達しないですよ.地味な作業の結果でやっと得られるのが誤差なんです.解析計算できれいな結果がでると嬉しいというのはわかるけど,きれいさのかけらもないけど数値計算は渋くてかっこいいと思うのよ.下手な近似してすましているより,愚直に力強い数値計算の方が好きなのです.ちゃんとしていればね.

それに,数値計算をするもっと深い理由は我々の三次元のことが知りたいという欲求が大きいと思う.平均場理論は解析的に出来ることが多くて,そこで物理的な描像が得られるわけだけど,それが本当に三次元の世界を記述するに耐える理論になっているかどうかは三次元の世界をみないとわからないよね.スピングラスの理論にはParisiがノーベル賞をとったようにレプリカ法で実に豊かな世界が明らかにされ、多くの研究者を魅了した.私も間違いなくその一人で,Parisiの論文をドキドキしながら読んでいたし,今でも同じである.それでもその豊かな世界は平均場極限なのだよ.あの世の理論なのだ.それがこの世を本当に説明しているのかが猛烈に気になるわけである.三次元の世界を知るために数値計算は有力な方法の一つなのだ.せっかちな私にとって,じっくり厳密解の登場を待っていられないわけで,数値計算に頼らざるを得ないのが現実なのよ.計算できる平均場模型で楽しんでる気分にはなれないのだよ.知りたいことがその辺りにはあんまりない.一方で,数値計算は数値計算だよねーとも思う.その狭間で苦しんでいて,誤差を小さくすることに苦心しているのが数値計算屋なのだと思う.ここまでくると,パっパーと数値計算やろうとするのとは違う感じだよね.

D3のときに、まだ六本木に物性研があったころに計算物理の研究会があって、発表の機会があった。三次元イジングスピングラスの秩序変数の分布に関する結果で、レプリカ対称性の破れが三次元で見えるのかどうかの重要問題に関することだった。明確な結論は出せないのだったけど、どうも自己平均性が破れていると考えるのは難しいのではないかという主張になっていた。講演直後に田崎さんが「君の計算はちゃんとしていると思う。ところで、最近でたNewman-Steinの。。。」とこんなコメントをもらった。遠い昔なので脚色してしまっている可能性は大きい。ただ、自分は〇〇にはなっていなくて、ちゃんとしているのか?と喜んだ。もっとも大事なポイントはNewman-Steinの方にある。その流れの研究も現時点ではなんとも言えない感触である。

僕が数値計算をやる理由はこの辺りにある.少しは伝わったかな.