01 / 読書ガイド
読書ガイド
引用
Thijssen, J. (2007). Computational Physics (2nd ed.). Cambridge University Press.
章の要約
第2版は16の章と2つの付録からなり、600ページを超える。各章の末尾には参考文献があり、第16章を除く各章には演習問題も付いている。著者の序文は、本書を凝縮系を中心とする理論物理学研究で用いられる計算手法の本として位置づけ、手法がどのように働くのか、なぜ働くのか、どんな近似を含むのかを説明し、アルゴリズムの実装を段階を追って示すものだと述べている。
第1章:序論
物理学の各分野と、それぞれに適した計算手法を、鳥瞰的に概観する章である。ニュートンの方程式と、初期条件への敏感さを示すダッフィング振動子のような例から始まり、多体問題と分子動力学、確率的シミュレーションとモンテカルロ法(例として拡散律速凝集)、偏微分方程式、量子力学、量子力学と古典統計物理学の関係、量子分子動力学、場の量子論へと進む。著者は、この順序が後の章の順序とは異なることを断っている。
第2–3章:球対称ポテンシャルによる量子散乱/シュレーディンガー方程式の変分法
第2章は、球対称ポテンシャルによる散乱を、常微分方程式に帰着する問題として扱い、断面積を計算するプログラムを示す。第3章は、変分法、具体的な計算例、一般化固有値問題、そして摂動論と変分法の関係を扱う。
第4–5章:ハートリー・フォック法/密度汎関数理論
第4章は、ボルン・オッペンハイマー近似から、ヘリウム原子、多電子系とスレーター行列式を経て、ハートリー・フォック理論、基底関数、ハートリー・フォックのプログラムの構成、ガウス関数を含む積分へと、独立粒子描像を組み立てていく。第5章は、局所密度近似を用いた密度汎関数理論、交換と相関のより詳しい検討、DFTを超えた励起、ヘリウム原子のための密度汎関数プログラムを示す。
第6章:周期的固体におけるシュレーディンガー方程式の解法
ブロッホの定理を用いたバンド構造理論と、主要なバンド構造計算法(補強平面波法、線形化APW法、擬ポテンシャル法(最も長い節))、そして結果から情報を引き出す方法を扱う。
第7–9章:古典平衡統計力学/分子動力学シミュレーション/量子分子動力学
第7章は統計力学の背景、モデル、相転移を述べる。第8章は、定エネルギーの分子動力学とアルゴン用のプログラムから、シンプレクティック積分法、他のアンサンブル、分子系、長距離相互作用、ランジュバン動力学、非平衡の手法までを展開する。第9章はその量子版であり、水素分子の例、正規直交化と共役勾配法の技法、擬ポテンシャル密度汎関数理論に対するカー・パリネロ法を取り上げる。
第10–12章:モンテカルロ法/転送行列とスピン鎖の対角化/量子モンテカルロ法
第10章は、モンテカルロ積分、マルコフ連鎖による重点サンプリング、他のアンサンブル、自由エネルギーの推定、有限系の温度を扱う。第11章は、イジング模型などのスピン模型の転送行列、量子鎖の厳密対角化、実空間繰り込み、密度行列繰り込み群を扱う。第12章は、変分法、拡散、経路積分、格子の各量子モンテカルロ法と、モンテカルロ転送行列法を扱う。
第13–14章:偏微分方程式の有限要素法/流体力学の格子ボルツマン法
第2版で新たに加わった2つの章である。第13章は、ポアソン方程式と線形弾性への有限要素法の適用を、誤差推定、局所細分化、動的問題、分子動力学との結合とともに扱う。第14章は、ナビエ・ストークス方程式と格子ボルツマンモデルを導き、前者が後者から導かれることを示す。
第15–16章:格子場理論の計算手法/高性能計算と並列処理
最も長い第15章は、場の量子論と繰り込み、格子場理論のアルゴリズム、臨界減速、ゲージ理論を扱う。第16章は、パイプライン処理、並列処理、分子動力学の並列アルゴリズムを扱う。
付録A–B:数値計算法/乱数生成器
付録Aは数値計算法をまとめたもので、特殊関数、求根、最適化、離散化、数値積分、微分方程式、線形代数、高速フーリエ変換を含む。付録Bは疑似乱数生成器と非一様乱数を扱う。
主要概念
電子構造(第2–6章)
- 変分原理:エネルギー汎関数を最小化することで基底状態を近似する方法。
- ハートリー・フォック法と密度汎関数理論:多電子問題を有効な1粒子方程式に落とし込む2つの方法。
- バンド構造計算法:結晶中の電子に対するAPW、LAPW、擬ポテンシャル。
古典系のシミュレーション(第7–10章)
- 分子動力学:運動方程式を積分して粒子を追跡する方法で、シンプレクティック積分法と各種のアンサンブルを伴う。
- モンテカルロ法とマルコフ連鎖:重点サンプリングで配置を抽出する方法。
- 相転移:多くの模型とシミュレーションが対象とする物理現象。
量子多体の手法(第9、11–12章)
- カー・パリネロ動力学:分子動力学と電子構造計算を組み合わせる方法。
- 密度行列繰り込み群:1次元量子鎖のための手法。
- 量子モンテカルロ法:変分、拡散、経路積分、格子の各形式。
場・流体・計算(第13–16章)
- 有限要素法と格子ボルツマン法:偏微分方程式と流体の流れを扱う手法。
- 格子場理論:離散化された場の量子論と、そのアルゴリズム、臨界減速。
- 並列処理:シミュレーションにおけるパイプライン処理と並列計算機の利用。
批判的分析
長所
- 結果よりも手法。 初版の序文は、第2版にも収められており、強調点はアルゴリズムの導出と実装、そしてどんな近似がなされるかにあり、結果の一覧ではないと述べている。
- 分野間のつながり。 出版社は、異なる物理学の分野で使われる手法の関係を強調していると述べており、構成にもそれが表れている。分子動力学(第8章)は量子分子動力学(第9章)に、モンテカルロ法(第10章)は量子モンテカルロ法(第12章)につながり、統計力学の章のイジング模型は転送行列の章で再び現れる。
- プログラムを書く読者への配慮。 序文には、実装が段階を追って議論され、プログラムを確認するための提案があること、[C]印の付いた計算機演習、ダウンロードできるプログラムが挙げられている。高度な内容や長い導出の節にはアスタリスクが付き、最初に読むときは飛ばしてよい。
- 第2版での拡充。 有限要素法と格子ボルツマン法の新しい章、そして密度汎関数理論、量子分子動力学、モンテカルロ法、1次元量子系の対角化に新しい節が加わり、範囲が広がった。
短所
- 前提が厳しい。 出版社は、初歩的なプログラミング、数値解析、場の理論に加えて、学部レベルの凝縮系理論と統計物理学が必要だと述べている。
- 意図的に選択的。 著者は、話題が網羅的には扱われておらず、重要な話題が数多く省かれており、それは自身の専門と関心を反映していると述べている。重点は凝縮系物理学と物理化学にある。
- プログラミングの入門書ではない。 初版の序文は、読者がコンピューティングの素養をすでにもっていることを想定しており、付録Aは数値計算法を簡潔にまとめているにすぎないため、数値計算の初心者には別の本が必要である。
- 長さと幅。 散乱から格子ゲージ理論まで16章にわたるため、1つの講義には収まらない。
コースにおける位置づけ
本書は、計算物理学のコースにおける研究志向の教科書である。Newman の Computational Physics と Landau、Páez、Bordeianu の Computational Physics: Problem Solving with Python は、物理の具体的な問題を通じてPythonで数値計算法を教える幅広い入門コースであり、Kinder と Nelson の A Student's Guide to Python for Physical Modeling は、プログラミングそのものへの短く実践的な出発点である。Press らの Numerical Recipes は、多くのルーチンの背後にある数値アルゴリズムの参考書であり、Thijssen の付録Aを補う。Taylor の An Introduction to Error Analysis は実験測定の不確かさを扱うもので、別の主題である。Thijssen は、入門書が終わるところ、すなわち電子構造、多体シミュレーション、場の理論から始まり、それらの本が教える技能を前提にしている。
本書の使い方
量子力学、統計物理学、凝縮系物理学の講義と、ある程度のプログラミングと数値解析を学んだあとに取り組むとよい。第1章は誰にとってもよい最初の一章であり、本書全体の地図を示し、手法どうしの関係を見せてくれる。
実践的な進め方は次のとおりである。
- 分子動力学とモンテカルロ法: 第7、8、10章と、乱数についての付録Bが、古典シミュレーションへの一貫した道筋になる。
- 電子構造: 第3–6章と第9章を順に読むと、変分法からハートリー・フォック、密度汎関数理論、バンド構造、カー・パリネロ動力学へと進める。
- 量子多体の手法: 第11章と第12章を、背景としての第10章とともに読む。
- 任意のモジュール: 第13–16章は関心に応じて選ぶ(有限要素法、格子ボルツマン法、格子場理論、並列計算)。
最初に読むときはアスタリスク付きの節を飛ばし、本文で述べられているプログラムを自分で書き、結果を信じる前に示された確認方法を使うこと。演習には計算機を使わないものもあるので、両方をバランスよく解くとよい。
