反復法 (数値計算)

提供: testwiki
ナビゲーションに移動 検索に移動

反復法(はんぷくほう、テンプレート:Lang-en-short)とは、数値解析分野における手法のうち、反復計算を用いるものの総称。これに対し、有限回の手順で解を得る数値解法は直接法テンプレート:Lang-en-short)と呼ばれる[1][2][3]。反復法では、適当な初期点 x0 から出発して反復式 xi+1=xi+di によって点列 {xi} を生成し最終的に最適解に収束させようとする[1][2][3]アルゴリズムが単純であるために古くから用いられ、これまで様々な関数族 {f(𝐗)} が提案されてきた。

アルゴリズム

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

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

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

ニュートン法

テンプレート:Main 関数 f が適当に滑らかな関数ならば、f の零点を求めるための関数 g

g(x)=xf(x)f(x)

ととれば、これはニュートン法となる[2]。これは収束する場合は2次収束 (テンプレート:Lang-en-short) となる[2]。すなわち、根を aΔxixia とし、

Δxi+1=f(a)2f(a)(Δxi)2+O[Δxi]3

ハレー法

テンプレート:仮リンクでは

g(x)=xf(x)f(x)f(x)f(x)2f(x)

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

Δxi+1=3(f)22ff12(f)2(Δxi)3+O[Δxi]4

その他

テンプレート:Seealso

不動点反復法

上記アルゴリズムでは、テンプレート:Math 回目の近似解 テンプレート:Math は直前の近似解 テンプレート:Math のみの関数であるが、これを一般化した不動点反復法[2][6]または テンプレート:Math 点反復法

xi+1=g(xi,xi1,,xil+1),l1

という形で表される。ニュートン法テンプレート:Math割線法テンプレート:Math の場合である。反復関数 テンプレート:Mathテンプレート:Math を満たす真の解 テンプレート:Math に対し

g(α,α,,α)=α

を満たす。このことから テンプレート:Mathテンプレート:Math不動点テンプレート:Lang-en-short)と呼ばれる[2][5]

テンプレート:Math の場合、この反復法の収束性についての十分条件として、次の不動点定理が成り立つ:不動点反復法

xi+1=g(xi)

は、反復関数 テンプレート:Math が以下の条件を満たすとき唯一の不動点 テンプレート:Math に収束する。

  1. テンプレート:Math は区間 テンプレート:Math で連続。
  2. すべての テンプレート:Math に対して テンプレート:Math
  3. すべての テンプレート:Math に対して
    |g(x)g(y)|<L|xy|
    を満たす、テンプレート:Math に無関係な定数 テンプレート:Math が存在する。

不動点定理の条件が成り立つならば、適当な初期値 テンプレート:Math を選んで反復計算を行うと、テンプレート:Math は区間 テンプレート:Math 内に唯一つ存在する不動点 テンプレート:Math に収束することが示せる[2][5]

脚注

出典

テンプレート:Reflist

参考文献

和文

英文

数値線形代数

  • Saad, Y. (2003). Iterative methods for sparse linear systems. SIAM.
  • Hageman, L. A., & Young, D. M. (2012). Applied iterative methods. Courier Corporation.
  • Traub, J. F. (1982). Iterative methods for the solution of equations. American Mathematical Society.
  • Greenbaum, A. (1997). Iterative methods for solving linear systems. SIAM.

求根アルゴリズム

  • Kelley, C. T. (1995). Iterative methods for linear and nonlinear equations. SIAM.
  • Ortega, J. M., & Rheinboldt, W. C. (1970). Iterative solution of nonlinear equations in several variables. SIAM.

最適化問題

  • Kelley, C. T. (1999). Iterative methods for optimization. SIAM.
  • Samuel, J. L. S., & Pizzo, K. J. T. (1972). Iterative methods for nonlinear optimization problems. Prentice-Hall, Englewood Cliffs.

テンプレート:最適化アルゴリズム テンプレート:Linear algebra

テンプレート:Normdaten

  1. 1.0 1.1 矢部2006、126頁。
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 テンプレート:Cite book
  3. 3.0 3.1 3.2 3.3 森正武. 数値解析 第2版. 共立出版.
  4. 戸川隼人. (1977). 共役勾配法. シリーズ新しい応用の数学.
  5. 5.0 5.1 5.2 『精度保証付き数値計算の基礎』大石進一 編著、コロナ社、2018年。
  6. テンプレート:Cite