図
8に、これまでに示した4つの方法の解への近づき具合を
示す。ニュートン法と割線法が収束が早いことが分る。先に示した通り二次収束になって
いる。一方、二分法とはさみうち法は一次収束であることがグラフより分かる。二分法は、
10回の計算で、
程度になっていることに気づいてほしい。はさみうち法
は、二分法を改良したにもかかわらず、それよりも収束の速度が遅くなっている。これは、
初期値が悪いためで、それを改善すれば、二分法よりも早く収束するはずである。
ニュートン法や割線法は収束が早く良さそうであるが、次に示すように解へ収束しない場
合があり問題を含んでいる。問題に応じて、計算方法を使い分けるべきである。
アルゴリズムから、二分法とはさみうち法は解に必ず収束する
4。これらの方法は、収束のスピー
ドが遅いのが欠点である。一方、ニュートン法と割線法は収束するとは限らない。初期条
件に依存する場合がある。厳密にその条件を求めるのは大変なので、初期条件により収束
しない実例を示すことにする。
非線形方程式
|
(14) |
を計算することを考える。これは、初期値のより、収束しない場合がある。例えば初期値
の場合、図
9のように収束しない
5。これを初期値
にすると図
10のように収束す
る。
このようにニュートン法は解に収束しないで、振動する場合がある。こうなると、プログ
ラムは無限ループに入り、永遠に計算し続ける。これは資源の無駄遣いなので、慎むべき
である。通常は、反復回数の上限を決めて、それを防ぐ。ニュートン法を使う場合は、こ
の反復回数の上限は必須である。
ニュートン法で収束する必要条件が分かればこの問題は解決する。しかし、それを探すの
は大変である。というか私には分からない。一方、十分条件は簡単にわかる。閉区間
で、
のような関数を考える。このとき、
- 常に
で、初期値が
の場合
- 常に
で、初期値が
の場合
は、必ず収束する。ニュートン法の図から明らかである。
の場合は、
に-1倍すれば、先の十分条件を考えることができる。
実際には収束しない場合のほうが稀であるので、ニュートン法は非常に強力な非線型方程
式の解法である。ただ、反復回数を忘れないことが重要である。また、二分法と組み合わ
せて使うことも考えられる。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年6月24日