Numerov方法

**努梅羅夫方法**屬於四階線性多步法，用於求解不出現一階微分項的二階常微分方程。努梅羅夫方法屬於隱式方法，但如果微分方程線性，則可轉化為顯式方法。該方法由
俄國天文學家 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 {5h^{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 階（Hairer，Nørsett & Wanner 1993，§III.10）。

## 應用

在物理中用於數值求解任意勢場中徑向薛丁格方程：

　
: $\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)=ER(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)=rR(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}}{dx^{2}}}\left[f(x)y(x)\right]$

將其代入到四階微分項中，並把二階導 ${\frac {d^{2}}{dx^{2}}}\left[f(x)y(x)\right]$ 替換為 $f_{n}y_{n}$ 的二階差分公式 ${\frac {f_{n-1}y_{n-1}-2f_{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}-2f_{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 {5h^{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 (假定穩定)。

## 參考文獻

* Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard, Solving ordinary differential equations I: Nonstiff problems, Berlin, New York: Springer-Verlag, 1993, ISBN 978-3-540-56670-0 . 
  This book includes the following references:
  * Numerov, Boris Vasil'evich, A method of extrapolation of perturbations, Monthly Notices of the Royal Astronomical Society, 1924, **84**: 592–601 .
  * Numerov, Boris Vasil'evich, Note on the numerical integration of d2_x_/d_t_2 = _f_(_x_,_t_), Astronomische Nachrichten, 1927, **230**: 359–364 .

## 外部連結

* Lecture notes: Computerphysik und Numerik （頁面存檔備份，存於網際網路檔案館） - by Jan Krieger
* Lecture notes of Werner Scholz - At Vienna University of Technology
* Lecture notes of Alexander Wagner （頁面存檔備份，存於網際網路檔案館）