Numerov算法和转移矩阵法的分析和比较

2018-01-11 10:31张存良
科学家 2017年22期
关键词:薛定谔本征势能

本文对薛定谔方程进行了初步的讨论,在介绍了波函数的一些基本性质以及基本解法的前提下,选取了较为实用的两种求解微分方程的算法——Numerov算法和转移矩阵法,以一维定态薛定谔方程求解为例进行求解,并对它们的原理进行了基本的阐述。根据波函数的实际性质,如有界性和渐变性等,对两种方法进行了分析和比较,继而得到一些较为实用的结论,以及对两种方法使用过程中的建议。

其中)(x 被称为定态波函数,简称波函数,这说明,微观粒子在一个固定的势场中运动时,只需要知道其能量,便可以求出其波函数。理论上,对于任何的E,都有一个波函数与之对应,但在物理还要求波函数满足自然条件,例如边界值为零等,故方程只对应一些特定的能量才有解。需要指出,定态并不意味着与时间无关,只不过与时间相關的部分都归结到相因子上去而已。

即使是一维定态薛定谔方程这样看似简单的方程,也只有在势能形式极为特殊的情况才有精确解。例如:当势能取谐振子势时,波函数具有厄米多项式形式。所以对于一维薛定谔方程来说,仍需要求诸于数值手段。历史上,人们针对薛定谔方程发展了很多优秀的计算机算法,包括矩阵对角化算法,转移矩阵法,虚时间法,快速傅里叶变换法等等。这些算法各有优缺点,适用于不同势的薛定谔方程求解。

本文中,主要讨论、分析和和比较求解薛定谔方程Nummerov算法和转移矩阵法。所有使用的程序都是在Matlab环境中开发的。

算法分析

打靶法+Numerov +Simpson算法

Numerov可以求解波函数,打靶法可以搜索本征能量值。要求非零能量本征值。本征值小于零的解是束缚解,这时它表现的较像两端被固定的,在振动琴弦。波函数在经典力学允许的范围内是震荡的,在经典力学禁止的范围内为指数行为。由于波函数分为两个有不同行为的区域,直接积分会是交界区域不和谐或者数值不稳定。知道波函数的图像及其导数必须连续,也就是通常所说的平滑的曲线,可以通过从节分交界处向左积分,再向右积分。因为一定有一种归一化系数使两函数在交界处的值相等,所以只需要让其导函数连续便可。

其中 <ψ和>ψ分别代表向左积分向右积分得到的波函数。

于是,利用拼凑的方法将不同区域内的波函数凑成完整的一个波函数,利用打靶法获得本征能量时,需要从最小值一点一点向上搜索,若发现F变号,则说明刚刚错过了一个本征能量值,或说明波函数多了一个零点,于是减小步长,在这个范围内,重新搜索,获得一个更加精确的能量值,并把它记录下来。然后继续向上搜索,获得更多的能量本征值,直到粒子跳出束缚态,即E>0为止。对于一个本征波函数,采取具有较高精度的Simpson算法进行积分,对其进行归一化处理。

转移矩阵法

式(2)可写成如下形式

由于E表示某一特定能量,V(X)也可视为某一特定势能,故可将求解区域均匀分为N个区域,每个区域内的波函数都近似为常数。于是式(7)可写成

将式(12)表示成矩阵形式,并带入边界值,即可求出式(10)中的系数,这样就求出了波函数。

算法优缺点分析

上文是对于两种算法的分析和理解。理论上两种算法都可以对任意势陷的薛定谔方程求以解。

在Numerov算法计算中,效率较高,可一次性将所有的束缚态的本征能量值求出。但在运行Numerov程序时,发现,本征能量值共有36个,而波函数却有50个。这里排除了多个不同的波函数对应同一个本征能量值的简并情况,因为求解的是一维薛定谔方程,无其他维度,故一个本征能量值,仅仅对应一个波函数。故多出来的波函数为假态,即非物理的数学解,在此函数和其导函数中,有突变的情况出现,如图1。

所以要利用量子力学中对波函数的要求(如波函数连续性、波函数的导数连续性要求等等)把这些假态剔除出去,这是此算法的缺点之一:在计算的过程中会出现假态。

对比图2的左图和右图,不难发现:在波函数图像仿真度上,转移矩阵法不及Numerov算法。原因是若波函数在N个格点上表示,对于Numerov算法来说波函数就是一个N维数组,但对于转移矩阵法则一个N×N维矩阵。所以转移矩阵法会消耗很多的内存,这就大大限制了转移矩阵法中波函数所在的格点数目。也因此转移矩阵法给出的图像显得比Numerov算法要粗糙。

从结构上说,转移矩阵法有很多优点,例如:1)它能够很好的考虑边界条件,可以从它的推导过程中看到:充分考虑了函数在边界处的取值)(aψ和)(bψ;2)通过构造矩阵的方法来求解,可以使用很多现成的库函数,如 LAPACK(Linear Algebra Package)或者擅长矩阵运算的软件,如MATLAB。

但是,转移矩阵法也有一些固有缺点:因涉及到矩阵求逆的过程,在求解过程中出现奇异矩阵,则该办法失效。且随着所取的格点数目的增多,矩阵维数上升很快,会影响计算速度和运算效率。在其程序中,可以随意规定势阱,但必须手动输入所满足的本征能量,并且其与打靶法寻找本征能量的配合很差(转移矩阵法本身没有判断能量是否为本征能量的能力)。所以对于像谐振子势这种本征能量值有特定函数表示的势能比较合适,对于本征能量并不清楚的情况则是采用Numerov算法收效更大。

结论

根据以上分析,知道:打靶法+Numerov算法更适合于本征能量事先不知道的薛定谔方程,并且计算代价小。缺点是在求解过程中容易出现假态,需要额外的机制作为删选条件。转移矩阵法则更适用于本征能量已经给定的情况,且改法能够很好地处理波函数的边界条件。涉及矩阵运算,可以调用专门的线性代数库函数或软件进行求解。

参考文献

[1]大猩猩Hψ=Eψ.一维定态薛定谔方程本征值的数值解法[EB/OL].豆瓣网,[2011-07-20].https://www. douban.com/note/162335796/.

[2]王忆锋,唐利斌.利用转移矩阵和MATLAB求解一维薛定谔方程的一种简洁方法[J].红外技术,2010,32(3):177-180.

(作者简介:张存良,东平明湖中学。)endprint

猜你喜欢
薛定谔本征势能
作 品:景观设计
——《势能》
基于本征正交分解的水平轴风力机非定常尾迹特性分析
拟相对论薛定谔方程基态解的存在性与爆破行为
Chern-Simons-Higgs薛定谔方程组解的存在性
KP和mKP可积系列的平方本征对称和Miura变换
一类相对非线性薛定谔方程解的存在性
薛定谔的馅
本征平方函数在变指数Herz及Herz-Hardy空间上的有界性
用不变本征算符法求一维线性谐振子的量子化能谱