01 / 导读
导读
引用
Thijssen, J. (2007). Computational Physics (2nd ed.). Cambridge University Press.
章节概要
第二版共十六章和两个附录,全书超过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章:偏微分方程的有限元方法;流体动力学的格子玻尔兹曼方法
这是第二版新增的两章。第13章把有限元应用于泊松方程和线弹性问题,并讨论误差估计、局部加密、动力学以及与分子动力学的耦合。第14章推导纳维–斯托克斯方程和格子玻尔兹曼模型,并说明前者如何由后者得出。
第15–16章:格点场论的计算方法;高性能计算与并行
最长的第15章讲量子场论与重整化、格点场论的算法、临界慢化和规范场论。第16章讲流水线、并行以及分子动力学的并行算法。
附录A–B:数值方法;随机数发生器
附录A汇集数值方法:特殊函数、求根、优化、离散化、数值积分、微分方程、线性代数和快速傅里叶变换。附录B讲伪随机数发生器与非均匀随机数。
核心概念
电子结构(第2–6章)
- 变分原理:通过最小化能量泛函来近似基态。
- 哈特里–福克与密度泛函理论:把多电子问题化为有效单粒子方程的两种方式。
- 能带计算方法:用于晶体中电子的APW、LAPW和赝势。
经典系统模拟(第7–10章)
- 分子动力学:通过积分运动方程来追踪粒子,涉及辛积分器和不同的系综。
- 蒙特卡罗与马尔可夫链:用重要性抽样来取得构型。
- 相变:许多模型与模拟所针对的物理现象。
量子多体方法(第9、11–12章)
- 卡–帕里涅罗动力学:把分子动力学与电子结构计算结合起来。
- 密度矩阵重整化群:用于一维量子链的方法。
- 量子蒙特卡罗:变分、扩散、路径积分和格点等形式。
场、流体与计算(第13–16章)
- 有限元与格子玻尔兹曼:处理偏微分方程和流体流动的方法。
- 格点场论:离散化的量子场论及其算法和临界慢化。
- 并行:在模拟中使用流水线和并行机器。
评析
优点
- 重方法而非结果。 第一版前言(在本版中保留)说明,重点在于算法的推导与实现以及所作的近似,而不是结果的汇编。
- 领域之间的联系。 出版社说,本书强调不同物理领域所用方法之间的关系,结构上也有所体现:分子动力学(第8章)通向量子分子动力学(第9章),蒙特卡罗(第10章)通向量子蒙特卡罗(第12章),统计力学一章中的伊辛模型又在转移矩阵一章中再次出现。
- 对要编程的读者的帮助。 前言提到实现是一步步讨论的,附有检验程序的建议、标有 [C] 的计算机习题以及可下载的程序。涉及高深内容和冗长推导的小节标有星号,初读时可以跳过。
- 第二版的扩充。 关于有限元和格子玻尔兹曼的新章,以及密度泛函理论、量子分子动力学、蒙特卡罗和一维量子系统对角化中的新小节,扩大了覆盖范围。
局限
- 先修要求高。 出版社说,读者需要具备初级编程、数值分析和场论知识,以及本科层次的凝聚态理论和统计物理。
- 有意取舍。 作者说各个话题并没有被全面处理,许多重要话题未涉及,这反映的是他自己的专长与兴趣;重点在凝聚态物理与物理化学。
- 不是编程教程。 第一版前言期望读者已有计算方面的基础,附录A对数值方法的处理也很简略,因此数值计算的初学者还需要另外的书。
- 篇幅与广度。 十六章从散射一直到格点规范理论,不可能放进一门课程。
在课程中的定位
本书是计算物理课程中面向研究的教材。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章可按兴趣选择(有限元、格子玻尔兹曼、格点场论、并行计算)。
初读时跳过带星号的小节,把正文所述的程序自己写出来,并在相信结果之前使用书中给出的检验办法。习题中也有不用计算机的,两类可以搭配着做。
