オイラー法の誤差について
期末試験でオイラー法に関する問題が出たんだけど、試験時間内に解けなかったので代わりにここで解くことにします。
オイラー法っていうのは、常微分方程式の近似解を数値的に求める方法で、ルンゲ・クッタ法のもうちょっと簡単バージョンみたいなやつです。具体的には、次のようなものです。
上の級関数に対して、
微分方程式の初期値問題
\begin{align*}
\begin{cases}
y' = f(x,y) &(0\leq x\leq 1),\\
y(0) = y_0
\end{cases}
\end{align*}
が上級の解を持つという状況を考えます。
いま、解の具体的な形はわかってないけど、分点における近似値を数値的に求めたいなあと思うことにします。
オイラー法と呼ばれる方法では、近似列を次で定めます。
まず、を等分して、とします。
また、として、
\begin{align*}
\begin{cases}
Y_{i+1}= Y_i + hf(x_i , Y_i), \\
Y_0 = y_0
\end{cases}
\end{align*}
で近似列を定めます。
気持ちとしては、の値との傾きだけを頼りに、でのの値を見積もっていこうという算段です。具体的な関数でグラフを書いたらわかったような気になると思います。
あ、Wikipediaに画像があったので貼っておきます。
Euler method - Wikipedia, the free encyclopedia
それで、このオイラー法に関して期末試験で次のような問題が出題されました。
定数が存在して、任意のおよびに対し、
\begin{align*}
\lvert f(x,y)-f(x,z)\rvert \leq K\lvert y-z\rvert
\end{align*}
が成り立つとします。(以下、この条件をリプシッツ条件と呼ぶことにします。)
このとき、ある定数(に無関係)が存在し、
任意のに対し、
\begin{align*}
\max_{i=1,\dots,n}\lvert y(x_i)-Y_i \rvert \leq Bh
\end{align*}
が成り立つことを示しなさい。
実際の試験ではもうちょっと誘導があったのですが、「そんなのがなくても解けるぜ!」という硬派な方のため、ここでは省略しました。
以下で証明を与えます。
証明
まず、に関するテイラーの定理より、各について、
\begin{align*}
y(x_{i+1})=y(x_{i}) + hf(x_i,y(x_i)) + \frac{h^2}{2} y''(\xi)
\end{align*}
を満たすが存在することがわかります。
このを用いると、
\begin{align*}
y(x_{i+1})-Y_{i+1}=y(x_i) - Y_i + h \{f(x_i,y(x_i)) - f(x_i,Y_i) \} + \frac{h^2}{2}y''(\xi_i)
\end{align*}
となります。つまり、からを引いて少し整理しただけです。
グラフで書くとこんな感じです。
ここで、三角不等式を用いれば、
\begin{align*}
\lvert y(x_{i+1})-Y_{i+1}\rvert\leq\lvert y(x_i) - Y\rvert + h \lvert f(x_i,y(x_i)) - f(x_i,Y_i) \rvert + \frac{h^2}{2}\lvert y''(\xi_i)\rvert
\end{align*}
が成り立ちます。
いま、 となる定数を取ります。
すると、リプシッツ条件(問題文の2行目に書いてあるやつ)と、ついさっき取ったを用いて、
\begin{align*}
\lvert y(x_{i+1})-Y_{i+1}\rvert\leq(1+hK)\lvert y(x_i) - Y\rvert + \frac{h^2 M}{2}
\end{align*}
と評価できます。
これにより、での誤差評価をでの誤差評価に落としこむことが出来ました。
これを繰り返し用いることで、
\begin{align*}
\lvert y(x_{i+1})-Y_{i+1}\rvert&\leq(1+hK)\lvert y(x_i) - Y_i\rvert + \frac{h^2 M}{2} \\
&\leq(1+hK)\{(1+hL)\lvert y(x_{i-1}) - Y_{i-1}\rvert + \frac{h^2 M}{2}\}+\frac{h^2 M}{2} \\
&=(1+hK)^{2}\lvert y(x_{i-1}) - Y_{i-1}\rvert +(1+(1+hK)) \frac{h^2 M}{2}\} \\
&\leq(1+hK)^{3}\lvert y(x_{i-2}) - Y_{i-2}\rvert +(1+(1+hK)+(1+hK)^{2}) \frac{h^2 M}{2}\} \\
&\vdots \\
&\leq (1+hK)^{i+1}\lvert y(x_{0}) - Y_{0}\rvert +(1+(1+hK)+\dots (1+hK)^{i}) \frac{h^2 M}{2}\} \\
&=(1+(1+hK)+\dots (1+hK)^{i}) \frac{h^2 M}{2}\} \\
&=\frac{1}{hK}((1+hK)^{i+1} -1) \frac{h^2 M}{2}\} \\
&=\frac{hM}{2K}((1+hK)^{i+1} -1)
\end{align*}
と誤差評価ができます。長いですが、途中にであることや、等比数列の和の公式などを使って計算しています。
ところで、
\begin{align*}
(1+hK) \lt e^{hK}
\end{align*}
ですので、上の式はさらに次のように評価できます。
\begin{align*}
\frac{hM}{2K}((1+hK)^{i+1} -1) &\leq \frac{hM}{2K}(e^{hK(i+1)}-1) \\
&= \frac{hM}{2K}(e^{\frac{i+1}{n}K}-1) \\
&\leq \frac{hM}{2K}(e^{K}-1).
\end{align*}
まとめると、
\begin{align*}
\max_{i=1,\dots,n}\lvert y(x_i)-Y_i \rvert \leq Bh \leq \frac{hM}{2K}(e^{K}-1)
\end{align*}
がわかり、はに無関係な定数なので、示したかったことが言えました。□