努梅罗夫方法属于四阶线性多步法,用于求解不出现一阶微分项的二阶常微分方程。努梅罗夫方法属于隐式方法,但如果微分方程线性,则可转化为显式方法。该方法由
俄国天文学家Boris Vasil'evich Numerov提出。
方法
可由努梅罗夫方法求解的微分方程形式为
:
\left ( \frac{d^2}{dx^2} + f(x) \right ) y(x) = 0
求出函数 y(x) 在区间 [a, b] 上等距格点上的值,从连续的两个格点上的函数值 x_{n-1} 和 x_n 开始,其他的函数值可由
:
y_{n+1} = \frac {\left( 2-\frac{5 h^2}{6} f_n \right) y_n - \left( 1+\frac{h^2}{12}f_{n-1} \right)y_{n-1}}{1+\frac{h^2}{12}f_{n+1}}
算得。
其中, f_n=f(x_n) 和 y_n=y(x_n) 为在格点 x_n 上的函数值,h=x_n-x_{n-1}为格点间距。
对于非线性方程,
: \frac{d^2}{dt^2} y = f(t,y)
则非线性方程的努梅罗夫方法为
: y_{n+1} = 2y_n - y_{n-1} + \tfrac{1}{12} h^2 (f_{n+1} + 10f_n + f_{n-1}).
该式为隐式的线性多步方法。当 f 是 y 的线性函数时,该式变为显式方法,精度为4阶。
应用
在物理中用于数值求解任意势场中径向薛定谔方程:
:
\left [ -{\hbar^2 \over 2\mu} \left ( \frac{1}{r} {\partial^2 \over \partial r^2} r- {l(l+1) \over r^2} \right ) + V(r) \right ] R(r) = E R(r)
此式可重写为
:
\left [ {\partial^2 \over \partial r^2} - {l(l+1) \over r^2} + { 2\mu \over \hbar^2} \left( E - V(r)\right) \right ] u(r) = 0
其中 u(r) = r R(r). 与Numerov方法求解的方程形式做比较,
:
f(x) = \frac{2\mu}{\hbar^2} \left(E - V(x) \right) - \frac{l(l+1)}{x^2}
这样,我们可以数值求解薛定谔方程。
推导
从 y(x_n) 的泰勒展开开始, 我们可求 x_n 的相接邻点上的函数值
:
y_{n+1} = y(x_n+h) = y(x_n) + hy'(x_n) + \frac{h^2}{2!}y(x_n) + \frac{h^3}{3!}y(x_n) + \frac{h^4}{4!}y'(x_n) + \frac{h^5}{5!}y*(x_n) + \mathcal{O} (h^6)
:
y_{n-1} = y(x_n-h) = y(x_n) - hy'(x_n) + \frac{h^2}{2!}y(x_n) - \frac{h^3}{3!}y(x_n) + \frac{h^4}{4!}y'(x_n) - \frac{h^5}{5!}y*(x_n) + \mathcal{O} (h^6)
上两式之和为
:
y_{n-1} + y_{n+1} = 2y_n + {h^2}y_n + \frac{h^4}{12}y*'_n + \mathcal{O} (h^6)
用所求微分方程的定义式 y_n = -f_n y_n 替换掉 y_n,
:
h^2 f_n y_n = 2y_n-y_{n-1} - y_{n+1} + \frac{h^4}{12}y**'_n + \mathcal{O} (h^6)
对所求微分方程的定义式 y*_n = -f_n y_n 取二次微分
:
y**'(x) = - \frac{d^2}{d x^2} \left[ f(x) y(x) \right]
将其代入到四阶微分项中,并把二阶导 \frac{d^2}{d x^2} \left[ f(x) y(x) \right] 替换为 f_n y_n 的二阶差分公式 \frac{f_{n-1} y_{n-1} -2 f_{n} y_{n} + f_{n+1} y_{n+1}}{h^2}
:
h^2 f_n y_n = 2y_n-y_{n-1} - y_{n+1} - \frac{h^4}{12} \frac{f_{n-1} y_{n-1} -2 f_{n} y_{n} + f_{n+1} y_{n+1}}{h^2} + \mathcal{O} (h^6)
求解 y_{n+1} 可得
:
y_{n+1} = \frac {\left( 2-\frac{5 h^2}{6} f_n \right) y_n - \left( 1+\frac{h^2}{12}f_{n-1} \right)y_{n-1}}{1+\frac{h^2}{12}f_{n+1}} + \mathcal{O} (h^6).
忽略掉 \mathcal{O} (h^6) 就可以得到努梅罗夫方法,最终收敛阶数为4(假定稳定)。
参考文献
- .
This book includes the following references:
**.
**.
外部链接
*[http://www.jkrieger.de/download/computerphysik.pdf Lecture notes: Computerphysik und Numerik] - by Jan Krieger
*[https://web.archive.org/web/20090307182712/http://magnet.atp.tuwien.ac.at/scholz/projects/numerov/node2.html#SECTION00020000000000000000 Lecture notes of Werner Scholz] - At Vienna University of Technology
*[http://www.stellarcom.org/aw/Physik/cp/node48.html Lecture notes of Alexander Wagner]
评论 (0)