计算物理方法Sec1S演示课件

上传人:日度 文档编号:149842081 上传时间:2020-10-31 格式:PPTX 页数:147 大小:1.44MB
返回 下载 相关 举报
计算物理方法Sec1S演示课件_第1页
第1页 / 共147页
计算物理方法Sec1S演示课件_第2页
第2页 / 共147页
计算物理方法Sec1S演示课件_第3页
第3页 / 共147页
计算物理方法Sec1S演示课件_第4页
第4页 / 共147页
计算物理方法Sec1S演示课件_第5页
第5页 / 共147页
点击查看更多>>
资源描述

《计算物理方法Sec1S演示课件》由会员分享,可在线阅读,更多相关《计算物理方法Sec1S演示课件(147页珍藏版)》请在金锄头文库上搜索。

1、计算物理熊诗杰,(用于凝聚态物理),1,凝聚态物理中数值计算的基本特点 大型矩阵的数值严格对角化方法 密度泛函理论和固体能带理论 Monte Carlo方法,2,第一章 凝聚态物理中的数值计算,一、凝聚态系统 基本特点 1. 由大量粒子组成,是一个多粒子体系; 2. 这些粒子都是微观粒子,满足量子力学的运动规律。 因此,凝聚态系统的状态要用多体波函数表达。,3,二、多体波函数满足的基本方程 - 薛定谔方程,这里, 是多体波函数,其自变量是时间和描写各个粒子状态的广义坐标, 是系统的哈密顿算符。 如果 不依赖时间,有 我们有如下的定态薛定谔方程:,4,是能量的本征值。,三、薛定谔方程的基本特点

2、1. 是关于未知波函数的线性齐次方程 -如果选取一组正交归一完备的基函数,可以将波函数表达为向量,哈密顿算符表达为矩阵。 2. 只有 取一定的值才有非零的波函数 - 能量本征值,5,3. 是厄米算符,能量本征值为实数。 4. 如果哈密顿表达为 阶矩阵,则有 个能量本征值,对应着 个正交归一的本征波函数。本征值有可能在数值上一样(简并)。,6,求能量的本征值和对应的本征波函数。 波函数可以是单体的波函数,也可以是多体的波函数。 数值计算的基本出发点,是构造一组完备(或近于完备)的基函数,使波函数成为向量,哈密顿成为矩阵。,四、数值计算的基本任务,7,第二章:大型Hamiltonian系统的数值严

3、格对角化方法Lanczos方法,第一节 概述,在对一个实际的物理系统进行理论研究的过程中,经常会遇到要求一个大型或超大型Hermit矩阵的本征值和本征函数的问题。矩阵的维数往往会达到几十万甚至上百万。这样的矩阵在包含有大量微观自由度的宏观体系中是经常遇到的。,8,例如,如果我们用分立的自旋来描写磁性晶格中的磁性原子,而磁性原子间的互作用则用相邻的自旋格点间的交换积分来表达,我们可以得到如下的Heisenberg哈密顿量:,这里Jx ,Jy , Jz是三个方向上的耦合常数,Sxi , Syi , Szi 分别是第i个格点上的自旋在x, y, z三个方向上的分量。如果我们要将这个哈密顿量用数值的方

4、法对角化,以求出其本征值和本征函数,我们就必须首先选择Hilbert空间中一组完全的向量,9,10,11,12,13,14,集作为基,把哈密顿量在这个基上用矩阵的形式表达出来,再对该矩阵进行数值求解。然而,与能带论中所用的单电子近似不同的是,这种强关联的多粒子体系所对应的Hilbert空间的基矢的个数是极其庞大的。在我们这个例子中,每个格点上的自旋的状态数是(2S+1),如果我们研究的有限的系统包含有N个格点,那么总的状态数就是(2S+1)N个,也就是说,哈密顿矩阵的大小应该是(2S+1)N(2S+1)N。这是一个极其庞大的数字,例如,我们研究一个只,15,有44大小的自旋为1/2的二维晶格,

5、那么哈密顿矩阵的大小就是6553665536,这样大小的矩阵的直接数值求解在现在的绝大多数计算机中都是办不到的。 矩阵维数的增大使得求解本征值和本征函数变得非常困难,但是,我们看到,在绝大多数在物理上感到兴趣的问题中,哈密顿矩阵都有如下特点: (1) 哈密顿矩阵都是厄米矩阵。,16,(2) 尽管哈密顿矩阵异常庞大,但是其中绝大多数非对角矩阵元都是零,只有数量很少的非零矩阵元,也就是说,这种矩阵是极为稀疏的矩阵。例如,对我们刚才讲的例子,哈密顿矩阵的每一行尽管有65536个元素,但其中非零的矩阵元不会超过5个。 (3) 所考虑的物理系统,一般都具有一定的对称性,满足一定的守恒律。这样,我们就可以

6、根据对称性和守恒律的要求,采用一定的基函数,使哈密顿矩阵分解成为互不关联的子矩阵,从而可以对比较小的子矩阵分别求解。,17,Lanczos方法就是根据上述特点所发展起来的一种极为有效的哈密顿矩阵求解本征值和本征函数的数值方法。近年来,它已被广泛应用到强关联系统、无序系统等极为重要的物理系统之中,成为计算物理中一项至关重要的新方法。我们这一单元,就是介绍这一方法的基本做法和它的一些重要的应用。,18,第二节 基本方法,发展Lanczos方法的最重要的目的,就是要找出一条有效的途径,来解决哈密顿矩阵过于庞大的问题。问题的关键就在于,如何充分利用前面说到的三个特点,即厄米性,稀疏性和对称性,来达到我

7、们的目的。这是一个极其复杂的问题,涉及到一个物理系统的一些非常具体的特点。在这一节中,我们将着重介绍如何利用体系的厄米性来将一个庞大的哈密顿矩阵约化为较小的矩阵,这是对各种物理系统都通用的基本的Lanczos方法。至于利用稀疏性和对称性来作进一步的约化,我们将在以下几节中加以介绍。,19,我们设H是某一在N维Hilbert空间中的厄米算符,而v1是该空间中的一个任意的归一化的向量,即:v1+v1=1。我们连续地用H去作用,来构造出一组正交归一的向量:,.,20,我们注意到这些方程的结构是三对角型的,即每个方程的右边只出现相邻的三个元素。这是由哈密顿矩阵的厄米性所决定的。这一迭代序列将在正交归一

8、向量走遍整个Hilbert空间后自动中止,也就是说,在做到第N步时,我们有:,但由于在Hilbert空间中最多只能有N个相互正交归一的向量,因此新的向量vN+1必须为零。这样,这一方法具有一种十分有用的性质,即:即使我们一开始并不知道向量空间的维数,这一方法也会很好地自动中止。注意到我们这里处理的是一般的算符,而不是矩阵,因此空间的维数不需要明显地写出来。,21,这些向量,v1, ,vN , 称为Lanczos向量,它们构成了Hilbert空间的一组正交归一的完备集,以它作为基,哈密顿算符可表达为三对角矩阵的形式:,22,如果U是H的本征向量,而u是 的对应的本征向量,它们之间的关系是: UV

9、u 这里V是以Lanczos向量作为列的矩阵。 如果算符H具有简并的本征值,则初始向量v1将包含对应于这个简并的本征值的一个本征向量(这是因为v1在这个简并本征值所对应的子空间的投影只有一个线性无关的向量)。这意味着Lanczos过程将在小于N步的地方中止,而且这个过程只给出对应于这个简并集合中的一个本征值和一个本征向量。一般来讲,如果H具有n个不同的本征值,23,(nN)E1,E2,, En,它们分别是p1, p2, ,pn重简并,那么上述的迭代过程将中止在第n步,所得到的由Lanczos向量所张开的n维子空间将只包含每个简并集合中的一个本征态。所得到的nn阶三对角矩阵将具有n个不同的本征值

10、。于是,我们需要再去求出剩下的N-n个本征值和本征向量。我们可以选择一个新的初始向量,使它与所得到的所有Lanczos向量正交,来继续上述过程。同样,这个过程将经过m步之后中止,m应等于所剩下的具有不同数值的本征值的个数。我们可以这样继续下去,直到得到整个Hilbert空间中的全部本征值和本征向量为止。这样得到的三对角矩阵具有块对角形的结构,即:,24,这里每个块都是非简并的,而且其维数等于在前面的块构成之后所剩下的不相等的本征值的个数。,25,Lanczos方法具有一个十分有趣而且至关重要的性质,即:在经过p - 1步后,所得到的p个Lanczos向量可以完全决定三对角矩阵的左上方的大小为p

11、p的部分的元素,如果我们对这个pp的矩阵求本征值和本征向量,那么在p增大的时候,这些本征值和本征向量将会极快地收敛于完全的矩阵的低端的本征值和本征向量。对一个物理系统,在多数情况下,我们只对能量较低的本征值和本征向量感到兴趣,因为它们对应于系统的基态和能量较低的激发态。这样,我们就可以根据Lanczos方法的这个性质,不去管原先的矩阵H有多大,只要做有限的p步,得到pp大小的矩阵,求出它的本征值和本征向量,然后增大p的值,使得到的低端的本征值收敛。只要它们,26,收敛,我们就可以认定所得到的低端本征值和本征向量就是完全矩阵的低端本征值和本征向量,从而得到所求系统的基态和较低的激发态。 上述的L

12、anczos方法的这一性质,已经得到了严格的证明。在计算实践中,收敛速度之快令人吃惊。在许多情况下,不管的大小有多大。所取的Lanczos步数往往只要取50到100之间,收敛的精度就可以达到计算机的精度。但这并不是说Lanczos方法很容易做。实际上,Lanczos方法是计算物理中技巧性非常高的工作。这一方面是因为所研究的物理对象极为复杂,有时光是为了写出矩阵元就要费很大的工夫。另一方面,在算法中某些不引人注目的误差,如舍入误差等,都会破坏整个程序的运行。因此,上述的Lanczos方法只有在运用精确的算法和程序时才是有意义的。在实际的计算中,计算误差将以各种方式,27,影响到整个过程。这里我们

13、暂不讨论Lanczos方法本身的精确性和稳定性,但我们指出一些不精确的算法所产生的后果,初看起来,这些后果似乎是十分奇怪的。例如,由于计算过程中产生的舍入误差,使得在N1步后,所得到的vN+1并不准确为零,这样整个过程就不会在N1步后中止。尽管这里的vN+1并不大,但已足以妨碍整个过程的正常运行。如果继续进行下去,同样的本征值将会被一次又一次地产生。类似地,虽然从理论上来说在第N1步中vN必须与前面所得到的所有向量正交,然而在实践上vN是通过以下的公式计算的:,28,在本式中由于可能出现两个相近的数字相减,会引起较大的有效数字的丧失,最后的结果可能是非常奇异的。标准的方法是:为了保证其正交性必

14、须将当前的向量v与前面的所有的向量从新进行正交化。即,必须在程序中引入如下的步骤:,29,这是重正交化手续,它能保证Lanczos方法能正常中止。 Lanczos方法使得我们能够把一个很大的矩阵转化为一个等效的、维数较小的三对角矩阵。为了求出对应的本征值和本征态,我们需要一个,30,有效的数值方法,以便对三对角矩阵进行对角化。在下一节,我们将给出两种较为常用的方法,对三对角矩阵进行对角化。,31,第三节 三对角矩阵的对角化,在这一节中,我们研究两种对三对角矩阵进行对角化的方法。下面我们将分别对它们进行阐述。 (1) Dean方法。 在Lanczos方法中,我们得到了有限维数的三对角矩阵,由于初

15、始的Hamilton矩阵是Hermit矩阵,所以得到的三对角矩阵也是Hermit矩阵。这种三对角的Hermit矩阵可以很方便地用Dean方法来进行对角化。这种方法是基于如下的负本征值定理:,32,定理如果矩阵是M阶的三对角Hermit矩阵,则它的比某一实数 小的本征值的个数等于所有的实数U(i) (i=1, 2, 3, ., M) 中的负数的个数,这里实数U (i) 由如下的递推关系来决定:,E(i) 是矩阵 的第i个对角矩阵元,而t(i) 是矩阵 的第i个次对角矩阵元。,根据这个定理,我们可以方便地通过改变 的值求出我们所需要的能量范围里本征值的分布情况,并且可以求出各个本征值的准确位置。在

16、求出本征值后,我们可以通过如下的方法求出所对应的本征函数:,33,我们设定对应于本征值 的本征函数在Lanczos向量所张开的空间中的第n个分量是1,则其它的分量可以通过如下的递推关系求出:,34,最后再通过归一化,即可得到对应的本征函数。 实际上,一旦我们原来的厄米矩阵已通过Lanczos方法约化为三对角形,有关确定其本征值的可能的方式就是直接寻找特征多项式pN()的根。上述方法就是通过递推过程产生出低次多项式的Sturm序列,该序列将本征值局限于一些实轴区间上,然后可以运用象二分法或Newton法那样的求根方法来精炼区间。对应的本征向量于是也可以用上述的逆迭代法求得。,(2) 运用标准的Lapack或Linpack子程序计算三对角矩阵的本征值和本征向量。,35,参考文献: E. Dagotto, Rev. Mod. Phys. 66,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号