努梅羅夫方法 屬於四階線性多步法,用於求解不出現一階微分項的二階常微分方程 。努梅羅夫方法屬於隱式方法 ,但如果微分方程線性,則可轉化為顯式方法 。該方法由
俄國天文學家Boris Vasil'evich Numerov 提出。
方法
可由努梅羅夫方法求解的微分方程形式為
(
d
2
d
x
2
+
f
(
x
)
)
y
(
x
)
=
0
{\displaystyle \left({\frac {d^{2}}{dx^{2}}}+f(x)\right)y(x)=0}
求出函數
y
(
x
)
{\displaystyle y(x)}
在區間
[
a
,
b
]
{\displaystyle [a,b]}
上等距格點上的值,從連續的兩個格點上的函數值
x
n
−
1
{\displaystyle x_{n-1}}
和
x
n
{\displaystyle x_{n}}
開始,其他的函數值可由
y
n
+
1
=
(
2
−
5
h
2
6
f
n
)
y
n
−
(
1
+
h
2
12
f
n
−
1
)
y
n
−
1
1
+
h
2
12
f
n
+
1
{\displaystyle 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
)
{\displaystyle f_{n}=f(x_{n})}
和
y
n
=
y
(
x
n
)
{\displaystyle y_{n}=y(x_{n})}
為在格點
x
n
{\displaystyle x_{n}}
上的函數值,
h
=
x
n
−
x
n
−
1
{\displaystyle h=x_{n}-x_{n-1}}
為格點間距。
對於非線性方程,
d
2
d
t
2
y
=
f
(
t
,
y
)
{\displaystyle {\frac {d^{2}}{dt^{2}}}y=f(t,y)}
則非線性方程的努梅羅夫方法 為
y
n
+
1
=
2
y
n
−
y
n
−
1
+
1
12
h
2
(
f
n
+
1
+
10
f
n
+
f
n
−
1
)
.
{\displaystyle y_{n+1}=2y_{n}-y_{n-1}+{\tfrac {1}{12}}h^{2}(f_{n+1}+10f_{n}+f_{n-1}).}
該式為隱式的線性多步方法 。當
f
{\displaystyle f}
是
y
{\displaystyle y}
的線性函數時,該式變為顯式方法,精度為4階(Hairer, Nørsett & Wanner 1993 ,§III.10)。
應用
在物理中用於數值求解任意勢場中徑向薛定諤方程 :
[
−
ℏ
2
2
μ
(
1
r
∂
2
∂
r
2
r
−
l
(
l
+
1
)
r
2
)
+
V
(
r
)
]
R
(
r
)
=
E
R
(
r
)
{\displaystyle \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)}
此式可重寫為
[
∂
2
∂
r
2
−
l
(
l
+
1
)
r
2
+
2
μ
ℏ
2
(
E
−
V
(
r
)
)
]
u
(
r
)
=
0
{\displaystyle \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
)
{\displaystyle u(r)=rR(r)}
. 與Numerov方法求解的方程形式做比較,
f
(
x
)
=
2
μ
ℏ
2
(
E
−
V
(
x
)
)
−
l
(
l
+
1
)
x
2
{\displaystyle f(x)={\frac {2\mu }{\hbar ^{2}}}\left(E-V(x)\right)-{\frac {l(l+1)}{x^{2}}}}
這樣,我們可以數值求解薛定諤方程。
推導
從
y
(
x
n
)
{\displaystyle y(x_{n})}
的泰勒展開 開始, 我們可求
x
n
{\displaystyle x_{n}}
的相接鄰點上的函數值
y
n
+
1
=
y
(
x
n
+
h
)
=
y
(
x
n
)
+
h
y
′
(
x
n
)
+
h
2
2
!
y
″
(
x
n
)
+
h
3
3
!
y
‴
(
x
n
)
+
h
4
4
!
y
⁗
(
x
n
)
+
h
5
5
!
y
′′′′′
(
x
n
)
+
O
(
h
6
)
{\displaystyle 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
)
−
h
y
′
(
x
n
)
+
h
2
2
!
y
″
(
x
n
)
−
h
3
3
!
y
‴
(
x
n
)
+
h
4
4
!
y
⁗
(
x
n
)
−
h
5
5
!
y
′′′′′
(
x
n
)
+
O
(
h
6
)
{\displaystyle 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
=
2
y
n
+
h
2
y
n
″
+
h
4
12
y
n
⁗
+
O
(
h
6
)
{\displaystyle 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
{\displaystyle y''_{n}=-f_{n}y_{n}}
替換掉
y
n
″
{\displaystyle y''_{n}}
,
h
2
f
n
y
n
=
2
y
n
−
y
n
−
1
−
y
n
+
1
+
h
4
12
y
n
⁗
+
O
(
h
6
)
{\displaystyle 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
{\displaystyle y''_{n}=-f_{n}y_{n}}
取二次微分
y
⁗
(
x
)
=
−
d
2
d
x
2
[
f
(
x
)
y
(
x
)
]
{\displaystyle y''''(x)=-{\frac {d^{2}}{dx^{2}}}\left[f(x)y(x)\right]}
將其代入到四階微分項中,並把二階導
d
2
d
x
2
[
f
(
x
)
y
(
x
)
]
{\displaystyle {\frac {d^{2}}{dx^{2}}}\left[f(x)y(x)\right]}
替換為
f
n
y
n
{\displaystyle f_{n}y_{n}}
的二階差分公式
f
n
−
1
y
n
−
1
−
2
f
n
y
n
+
f
n
+
1
y
n
+
1
h
2
{\displaystyle {\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
=
2
y
n
−
y
n
−
1
−
y
n
+
1
−
h
4
12
f
n
−
1
y
n
−
1
−
2
f
n
y
n
+
f
n
+
1
y
n
+
1
h
2
+
O
(
h
6
)
{\displaystyle 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
{\displaystyle y_{n+1}}
可得
y
n
+
1
=
(
2
−
5
h
2
6
f
n
)
y
n
−
(
1
+
h
2
12
f
n
−
1
)
y
n
−
1
1
+
h
2
12
f
n
+
1
+
O
(
h
6
)
.
{\displaystyle 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}).}
忽略掉
O
(
h
6
)
{\displaystyle {\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 /dt 2 = f (x ,t ), Astronomische Nachrichten , 1927, 230 : 359–364 .
外部連結