目录 1引言;本书的目的和范围及一些一般性的评述…w(1) 2蒙特卡罗方法的理论基础及其在统计物理学中的应用 命单(6) 2.1简单抽样对重要性抽样………6) 211各种模型……66) 212简单抽祥…(8) 213随机行走和自回避行走 (10) 2,14由简单抽样方法得出热平均(15) 215简单抽样的优点和局限性 (17) 2,1.6重要性抽样 2,1.7再谈模型和算法 24 2.2蒙特卡罗程序的组织和蒙特卡罗抽样的动力学解释…(28) 2.21对 Ising模型的模拟的初步讨论 (28) 2.2,2边界条件·… 32) 2.2.3重要性抽样蒙特卡罗方法的动力学解释………(36) 2.2.4统计误差和时移弛豫函数“1(41) 2.3有限尺寸效应 (44) 2.31逾渗转变问题的有限尺寸效应…(44 232逾渗问题的有限尺寸标度 (49 2,3,3破缺对称性和热相变问题上的有限尺寸效应 2.3,4序参量的概率分布及用它论证有限尺寸标度和唯象量正化…(55) 2.35弛豫时间的有限尺寸行为 …(67) 2.3,6没有“超标度关系”的有限尺寸标度…(70) 2.37一级相变的有限尺寸标度 (71) 2.3.8统计误差的有限尺寸行为和自平均问题… 4关于本章(理论章)的内容范围…82) 3蒙特卡罗方法实际工作指南 0(84) 3,1本指南的目标… (87
3.2简单抽样…… (91) 3.2.1随机行走 卓(91) 3.2.2不退行随机行走…·……6 (99) 3.2.3自回进随机行走·““4 (102) 3.24逾渗…… (107) 3.3偏倚抽样 116) 3.3.1自回避随机行走·…… (116) 3.4重要性抽样……… (119) 3.4.1 Ising模型…………… (120) 3.4.2自回避随机行走· (137) 附录……1139 A1随机行走问题的算法…………………139 A2用来证认集团的算法………………………………………(141) 参考文献………… 你验奇很春命命命命(146) 补充文献… u°(155) 索引……… 命(I59)
1引言:本书的目的和范围 及一些一般性的评述 近年来,“计算机模拟”方法已经引发了几乎可以说是一场 科学革命:物理学(以及化学、生物学等等)按照老式划分为 实验”分支和“理论”分支这种分法已不再是完备的了。“计 算机模拟”已变成第三个分支,它同前两种传统方法互相补充。 那么,计算机模拟或“计算机实验”的特殊意义何在呢?这 个问题的答案很简单,那就是计算机模拟对于得到精确描述的 型系统(对于统计物理学问题,这意味着描写哈密顿量的各个參量 已一无遗漏地明确知道)能够给出精硝的信息(除统计误差外 但是至少在原则上可以使这些统计误差任意小)。 反之,解析理论提供的信息只在很少的情况下是精确的,而 在大多数其他情况下,都需要用不受控制的近似。例如,三維情 形下可解的统计物理学问题只限于一些理想化的极限情况,如理 想气体或理想溶液、耦合简谐振子等。即使很简单的统计力学模 型,如三维 Ising模型,也不能精确求解,而对于原子自由度之 间为真实势的模型,所知就更少了。因此,常常设计计算机模拟 以检验对一个模型进行解析处理时所作的一些近似的精度 同样,实验提供的数据在下述意义上也绝对不是精确的:如果 “精确的”意味着精确知道一个给定的实验样品的有效哈密顿量。 有时甚至会争论实验观察到的某些现象究竟是固有的还是由某些 未知的杂质效应引起的一记住,一种实验样品的化学成分只可 能近似知道。这些只是几个例子,从这些例子清楚看出,解析理论 和实验之间的比较,并不总是导致确定无疑的结论,还需要用模拟
来沟通理论和实验的隔阂。而对一个模型的模拟同实验之间的直 接比较,则不受不精确的近似(它们常常是解析理论中不可避免 的)的牵累,从而可以更确定无疑地表明,这个模型是否忠实地 代表实际系统。 当然,这绝不是计算机模拟富有吸引力的唯一原因。还应看 到,模拟提供的关于模拟系统的信息可以任意详尽,不管什么物 理量,只要研究者认为它有用,就可以设法从模拟对这个量进行 抽样”。例如,散射技术应用于真实系统时,通常给出关于二 粒子关联函数的信息,要得到关于三重关联或高阶关联的直接实 验信息是很困难的。但是,模拟却能轻易地给出这些高阶关联, 至少在原则上是这样。还有,实验工作者可以改变他的样品的温 度和压力,可是要他估计原子间位势变化的效果,就不那么容易 了。而对于计算机模拟来说,任意改变原子间位势并不是什么大 困难。现在就很清楚了,计算机模拟方法的确很重要;它是理解 自然规律的一种有效的研究手段,对它的从事者很有教益,与理 论或实验互相补充 情况既然是这样,这方面的文献有爆炸性的增长,也就不足 为奇了。许多以前从事理论物理学(或理论化学、理论生物学等) 研究的科硏工作者开始搞计算机模拟,一些实验工作者也一样。 最后,但并非最不重要的一点是,许多并不具有任何其他科研经 验的学生,也立即被吸引到计算机模拟的领域中来了 但是,表现出来的这种巨大兴趣遇到了一个严重的困难:到 现在为止,在大学中还很少讲授模拟方法,并且也缺乏系统的教 科书,而通过这样的教科书,那些新进入这一领域的人可以很容 易地学会,变成一个熟练的从事者。虽然本书的作者之一(KB) 曾经主编过两本书,它们收集了蒙特卡罗计算机模拟方法在统计 物理学中的许多应用,但这两本书并不是能够使其读者容易学习 一个新领域的教科书。另一位作者(DWH)写过一本更着眼
于教学法的对计算机模拟方法的一般性说明;但是,由于它的 般性,该书未能深入细致地讨论对相变和有关问题(逾渗、随机 行走、聚合物、生长现象等)的蒙特卡罗研究。对其他方法(如 “分子动力学”方法)的介绍也有同样的问题,或者受到其他的 限制。于是,迄今为止蒙特卡罗模拟的“技艺”主要是通过两条 途径来学习和传播的,即:或者通过对许多原始论文(其发表时 间回溯到几十年前)冗烦的比较研究,或者通过同熟练的从事者 之间的私人交流。 本书的目的是要填补(至少是部分地填补)这个空白。因此 从一开始,我们就把本书的范围限于计算机模拟的一种方法,即 蒙特卡罗方法,而不是试图覆盖整个领域。对范围的这一限制有 好几个原因:首先,两位作者的专长主要是在这一方面;其次, 加了这个限制之后,就可以现实地采用本书作为一门持续一学期 每周两小时的关于计算机模拟的大学课程的教科书。它也适合于 用作一个两星期长的计算机模拟讲习班的教材,讲习班的学员在 这两个星期的时间里可以每天上机实习,从而在一门紧凑的强化 课程中学习蒙特卡罗方法。最后,对一个试图只依靠自学来学完 本书的学生或科研工作者,这项任务仍然是有可能完成的! 同以往的关于蒙特卡罗模拟的文献不同,本书对该方法的理 论基础(包括结果的分析)和用该方法做的实际作业给以同样的 权重。如何进行“计算机实验”是必须学习的,正如实验工作者 要通过参与实际进程来学习如何设计实验并用实际系统建立实 验,以及评估从实验得到的数据。本书作者和他们的许多同事 曾多次遇到这种对实际作业的需要,以通过它学习如何实现这样 的计算机实验。事实上,本书的初稿一一些未正式出版过的讲 义,曾于1987年9月在葡萄牙的 Figueira da Foz举办的计算机 模拟讲习班上,以及在Manz大学开设的一些课程上,相当成功 地使用过,因此,对学生讲授蒙特卡罗方法的实际教学经验是决
定本书内容的一个主要因素。我们的经验是,永远可以假定学生 具有一种程序设计语言如 PASCAL的背景知识,以及统计力学 的一些知识,包括相变的基本原理。如果读者对诸如“临界指数” 和它们之间的“标度关系”这样的概念以及像 Ising模型和逾渗 之类的模型还不熟悉,他很容易找到清晰地阐述这些概念的教材 我们在本书中要提到一些),因此就没有必要重复这些基本概 念 使用本书时,理论部分(本书的第2章)和“实际作业指南” (第3章)的互相配合是至关重要的。这两章都讨论相同的题目 (筒单抽样、随机行走和自回避行走、逾渗、 Ising模型等),但 是观点有所不同。在前一部分引进并解释了用来对这些问题进行 数值处理的概念;后一部分则把这些概念应用于具体问题,它要 求读者积极参与(即在个人计算机上做这些题目)以更深刻地理 解这些概念。 特别适合于做到这一点的方式是一个“讲习班”的形式,这个 讲习班采用本书为教学指导书。先提出对一个问题的解决方法并 立即加以试验,然后再对解这个问题的方法即算法进行改进。当 然,讲习班要办得效果最好,必须依靠学员与教师之间以及学员 相互之间的交流。讲习班的每个成员都将因所得到的反馈而受 益。采用一份书面教材,讲习班的效率会低一些。然而,我们已 使本书具有这样的结构,使读者有可能而且有必要对本书不是消 枫地阋读,而是与本书有某种形式的交流 我们的目标是介绍足够的材料,使读者能够在所述概念的基 础上,着手开发解决其他问题的算法。为了达到这个目标,必须 从头到尾做完全部内容,因此这个“讲习班”(第3章)是一个单 独的单元。第3章的另一个目标是介绍数据分析方法,使读者热 悉如何应用这些方法。这仍然要求读者积极参与。 既然本书是按照上述想法写的,两章有很强的相互关联,那
么内容上的某些重复便是不可避免的,从叙述的清晰和连贯性来 考虑甚至是必要的。事实上,本书讨论的全部方法的科学背景都 已在其他文献中叙述过,本书的新颖之处以及和以往的工作完全 不同之处在于它的引论性质,它要顺利地引导学生去熟悉用蒙特 卡罗方法做的许多实际工作和经验。为了这个教学法目的,内容 的少许重复甚至是我们所希望的。我们故意选用统计物理学中 些非常简单的问题,例如随机行走和自回避行走、逾渗和 Ising 模型,这些问题比较容易说明和演示全部概念和方法,而不在本 书中讨论那些更复杂的问题,像具有实际势的流体、自旋玻璃及 其他无序材料、量子力学蒙特卡罗方法或点格规范理论中的问 题。我们认为,读者在从头至尾学完本书之后,借助于已有的关 于蒙特卡罗方法的其他书籍,是能够转到这些问题上来的。我们 对具有离散自由度的点格问題(ling模型、Pots模型等)和连 续自由度的点格问题( Heisenberg磁体和XY磁体、φ模型等)的 热平均的特性讨论到一定深度,而对非点格问题如简单流体只简 短地提一提。书中特别注意理解计算机模拟方法的局限性(有限 尺寸和边界条件引起的效应、有限观测时间效应、自平均问题), 以及人们为克服这些局限性所作的努力:例如,如果引用适当的 有限尺寸标度理论,二级相变和一级相变时的有限尺寸效应可以 用作研究系统的大块性质的有用工具。书中也讨论了蒙特卡罗重 要性抽样的动力学解释。我们看到,虽然一方面隐含着一种不希 望看到的收敛变慢现象,特别是在临界点附近(临界慢化)和玻璃 态系统中;但另一方面,蒙特卡罗方法却成为研究随机模型的动 态行为的唯一工具
2蒙特卡罗方法的理论基础及其 在统计物理学中的应用 在本章中,我们首先引进蒙特卡罗抽样的基本概念,介绍蒙 特卡罗程序应当怎样组织的一些细节,进而讨论蒙特卡罗计算结 果的解释和分析。 2.1简单抽样对重要性抽样 2.1.1音种模型 统计物理学是同具有许多自由度的系统打交道。统计物理学 提出的一个典型问题,是假定一个系统的哈密顿量已知,计算该 系统的“平均”宏观可观察量。例如,我们考虑磁性系统:如果 一块铁磁体具有很强的单轴各向异性,我们可以用 Ising模型来 描写它,其N个自旋以下述方式相互作用: I 8ing J∑S4;-H∑S;,S:=±1,(2.1.1 <i,3 其中格点讠上的自旋S;可以沿着“易磁化轴”指向上或向下, (211)式中的交换能只限于最近邻之间,H是外磁场,HS4 项描述系统的 Zeeman作用能。但是,如果铁磁体具有平面各向 异性(自旋取向限于xy平面内:XY模型),或者完全各向同性 ( Heisenberg模型),情况便会不同: ∑(s;s+S:S})-H2∑S7,(21,2) (S)2+(S!)2=1
8:esrk-J∑(s;S1)-H,∑s,(2.1.3) (SF)2+(S)2+(St2=1 当然,实验工作者在其实验室中可以制备大量的形形色色的材 料,这就引起了对这些模型的多种变型的兴趣:代替(2,1.1)式 中所隐含的自旋量子数S=1/2或(2.1.2),(2.1.3)式中隐含的 S→∞,我们可能想要考虑一般的自旋量子数:代替只考虑最近 邻之间的交换作用,我们可能想要把次近邻、第三级最近邻等等 之间的交换能也包括进来;代替(2.13)式中的完全各向同性,可 能需要对它加上一个单轴或平面各向异性项;代替(2.1.1)式中 的均匀交换能丿和均匀磁场H,改用随机的交换常数J4和随机 场H4也许是合适的,以模拟该系统中的某种冻结的随机无序性。 因此,单是磁性固体就已向我们提供了不可胜计的模型哈密顿 量,(2,1.1)-(2.1.3)只不过是这些哈密顿量的一些例子,而这 大量的模型又只是凝聚体物理学所提供的广阔应用的一小部分。 统计物理学的一个任务是从模型哈密顿量计算出所要的各种 平均性质,例如每个自由度的平均能量E或平均磁化强度M, E=(x>/N,M=(∑S)/N.(2 其中<>r代表热平均,任何可观察量A(x),例如A=x,2S1 等等,x是相空间中的矢量,代表描述所考虑的自由度的一组变 量的集合,例如对(2.1.1)式x=(S1,S2,…,SN),对(2,1.3)式 S1,S2,…,Sx)的热平均在正则系综中由下式定义 <A(x)22/ dx exp[-第(x)/BTA(x),(2,1.5) z= dx exp[-(*)/BT1
把这一类问题叫作“统计物理学”是合适的,因为归一化的Bo1 tzmann因子 P(x)=dexpL-8(=)/kBT](2. 1. 6) 起着一个概率密度的作用,它描写位形x出现在热平衡中的权重 虽然(2.1.6)式在形式上给出了概率分布P(κ)的一个精确描 述,但是还是有麻烦:我们既不对如此详细的信息感兴趣(在我 们的例子中x代表一个包含N个自旋自由度的集合),也不可能 在一般情况下算出这样一个高维空间中的积分(2.1.4),(2.1.5) 2.12简单抽样 平衡态统计力学中的蒙特卡罗方法的出发点,是要近似计算 精确方程(21.5)式.(2.1.5)式中的积分是在一切态{x}上按每 个态的固有权重P(x)来求积的,我们想要用一个只在相空间点 的一个特征子集合{x1,x2,…,xM}上求和的和式来近似,这些相 空间点x1,x2,…,xM用作一个统计抽样。显然,如果考虑极限情 况M→∞,那么离散的和式 exp[ -g(r)/kBTJA(*L) A(x)==1 (2.1.7 ≥ep-2(x1)/kB7 定会趋近(2,15)式,正如在数值积分中积分被换成求和一样 对于离散自由度的情况,比如Iing问题,(21.5)式中的dx 当然已经是代表对全部2N个态x=(S1,…,Sx)的离散求和,但 (2,1.7)式中我们是想只用这些态的一个小子集来计算,M<2) 但是,与计算一维积分∫(x)dx(其中f(x)变元只是一个实变