どれが修正オイラー法なの? [数値解析]
どれが修正オイラー法なの?
微分方程式の初期値問題
があるとする。
ねこ騙し数学では、
とするとき、
を修正オイラー法(改良オイラー法)、
を2次のルンゲ・クッタ法と呼んでいるが、(2)をホイン(Heun)法、(3)を修正オイラー法と呼ぶヒトがいるなど、その呼称はヒト、書籍などによって異なっているようである。
そして、新たに、修正オイラー法(?)と呼ばれる方法を紹介する。
まず、オイラー法を用いてにおける(1)の厳密解を予想する。
この値を求め、次のように修正する。
さらに、この値を用い
以下、同様に、
と計算を繰り返し、収束値
とする方法。
ネムネコが大学院時代から使っている数値解析の本ーー結構、有名な数値解析の古典で、教科書(海外の教科書の翻訳)ーーでは、この方法をホイン法(オイラー・ガウス予測修正子法)と呼んでいる。
混乱の極みにある。
そして、ネムネコは、カビが生えるくらい古臭いこの教科書ーーサンプルプログラムは、いつの時代の「ふぉーとらん」かわからないくらい古いもの(だって、この本が書かれたのは1960年代!!)で、そのサンプルプログラムを現代のFortranでコンパイルすると、エラーが出る(笑)ーーの呼称に従っている。リスペクトだにゃ。
さて、例によって、次の初期値問題を例にこの方法を具体的に紹介することにする。
この微分方程式の解がであることは言うまでもないだろう。
さて、(7)をオイラー法で離散化すると、
になる。
修正オイラー法(2)の場合は、
2次のルンゲ・クッタ法も同じく
そして、厳密解の場合は
(8)、(9)、(10)の括弧の中を注目して欲しいのだけれど、オイラー法は(10)式の2次以上の項を切り捨てたもので、修正オイラー法3次以上の高次の項を切り捨てたものになっていることがわかるだろう。
つまり、このことからも、(8)式の局所的な(離散化)誤差の程度はO(h²)、(9)の局所的な(離散化)誤差の程度はO(h³)であることが確かめられる。
ここで新たな修正オイラー法の場合を説明する。
まず、オイラー法(8)でを推測するので、
次に、(5)式で修正するので、
さらに、
となり、
になる。
(10)と(11)を比較すると、(10)の3次の項h³/6、(11)の3次の項はh³/4で食い違っているので、極限値(12)にどれくらいの意味があるのかは疑問だが、h=0.1のとき、
になり、これから
であることがわかるにゃ。
ちなみに、修正オイラー法は
で、だから、今回、あらたな修正オイラー法(ホイン法?)の方がより厳密解に近いことがわかる。
問 次のことを示せ。
次に、h=0.1として、新たな修正オイラー法(ホイン法?)で、y(0.1)の近似値を求めるにゃ。
この問題の場合、2、3回程度修正すれば、よいことがわかる。
はよりも真実の値から返って遠ざかり、精度を悪化させるので、この問題の場合、3回以上の修正は無意味だね。
次のを求めるためには、で得た1.10525をとし、
とする。
この新しい修正オイラー法(ホイン法?)は、厳密解との局所的な誤差を(2)式で定式化される修正オイラー法の1/2程度に抑えることが出来るんだケロ。
すごいケロ。
でも、だから、の方がよりもいい値なんだにゃ。
何とも皮肉な話である。
この他にも、オイラー・リチャードソン法なんてのもある・・・。
Improved Euler's Methodの訳語も、修正オイラー法、改良オイラー法の2種類があり、さらに、混乱に拍車をかけているように思う。
ホント、困ってしまう。
Improved Euler's Method : 改良オイラー法(?)
Modified Euler's Method : 修正オイラー法(?)
こう翻訳した(・・?
ネット上に存在する、 大学の先生が書いた数値計算の記事でも2次のルンゲ・クッタ法を修正オイラー法と呼んでいるものがあるので、これらの記事を読むとき、十分、気をつけたほうがいいケロよ。
コメント 0