反復法 (数値計算)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

数値計算分野における反復法(はんぷくほう、: iterative method)とは、求根アルゴリズムの手法のうち、反復計算を使うもの。アルゴリズムが単純であるために古くから用いられている。

アルゴリズム[編集]

与えられた関数f についてf (x) = 0 を満たす値x を得ることを目的とする。反復法の一般的なアルゴリズムは以下のようになる:

  1. 初期値x0Rn を定める。i = 0 とおく。
  2. 漸化式
    によりxi + 1 を求める。ここでgf より決まる関数である。
  3. 適当な判断基準
    が成り立てば(このことを収束と表現する)停止し、xi を解とする。そうでなければii + 1 とし、ステップ2へ戻る。通常、判断基準には
    などが採られる。

[編集]

関数g の取り方によって種々の方法がある。

ニュートン法[編集]

関数f が適当に滑らかな関数ならば、f の零点を求めるための関数g

ととれば、これはニュートン法となる。これは収束する場合は2次の収束となる。すなわち、根をとし、

ハレー法[編集]

ハレー法英語版では


ととる。これは収束する場合は3次の収束となる。すなわち、

その他[編集]

不動点反復法[編集]

上記アルゴリズムでは、i +1 回目の近似解 xi+1 は直前の近似解 xi のみの関数であるが、これを一般化した不動点反復法[1]または l 点反復法

という形で表される。ニュートン法は l = 1割線法l = 2 の場合である。反復関数 gf (α) = 0 を満たす真の解 α に対し

を満たす。このことから αg不動点と呼ばれる。

l = 1 の場合、この反復法の収束性についての十分条件として、次の不動点定理が成り立つ:不動点反復法

は、反復関数 g が以下の条件を満たすとき唯一の不動点 α に収束する。

  1. g(x) は区間 I = [a, b] で連続。
  2. すべての xI に対して g(x) ∈ I
  3. すべての x, yI, xy に対して
    を満たす、x, y に無関係な定数 L (0 ≦ L < 1) が存在する。

不動点定理の条件が成り立つならば、適当な初期値 x0I を選んで反復計算を行うと、xi は区間 I 内に唯一つ存在する不動点 α に収束することが示せる。

参考文献[編集]

  1. ^ 小澤一文 『Cで学ぶ数値計算アルゴリズム』 共立出版、2008年、41頁。ISBN 978-4-320-12221-5