反復法 (数値計算)

反復法(はんぷくほう、: iterative method)とは、数値解析分野における手法のうち、反復計算を用いるものの総称。これに対し、有限回の手順で解を得る数値解法は直接法(: direct method)と呼ばれる[1][2][3]。反復法では、適当な初期点 x 0 {\displaystyle x_{0}} から出発して反復式 x i + 1 = x i + d i {\displaystyle x_{i+1}=x_{i}+d_{i}} によって点列 { x i } {\displaystyle \{x_{i}\}} を生成し最終的に最適解に収束させようとする[1][2][3]アルゴリズムが単純であるために古くから用いられ、これまで様々な関数族 { f ( X ) } {\displaystyle \{f(\mathbf {X} )\}} が提案されてきた。

アルゴリズム

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

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

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

ニュートン法

詳細は「ニュートン法」を参照

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

g ( x ) = x f ( x ) f ( x ) {\displaystyle g(x)=x-{\frac {f(x)}{f'(x)}}}

ととれば、これはニュートン法となる[2]。これは収束する場合は2次収束 (: Quadratic convergence) となる[2]。すなわち、根を a {\displaystyle a} Δ x i x i a {\displaystyle \Delta x_{i}\triangleq x_{i}-a} とし、

Δ x i + 1 = f ( a ) 2 f ( a ) ( Δ x i ) 2 + O [ Δ x i ] 3 {\displaystyle \Delta x_{i+1}={\frac {f^{\prime \prime }(a)}{2f^{\prime }(a)}}(\Delta x_{i})^{2}+O[\Delta x_{i}]^{3}}

ハレー法

ハレー法(英語版)では

g ( x ) = x f ( x ) f ( x ) f ( x ) f ( x ) 2 f ( x ) {\displaystyle g(x)=x-{\frac {f(x)}{f'(x)-{\frac {f''(x)f(x)}{2f'(x)}}}}}

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

Δ x i + 1 = 3 ( f ) 2 2 f f 12 ( f ) 2 ( Δ x i ) 3 + O [ Δ x i ] 4 {\displaystyle \Delta x_{i+1}={\frac {3(f^{\prime \prime })^{2}-2f^{\prime }f^{\prime \prime \prime }}{12(f^{\prime })^{2}}}(\Delta x_{i})^{3}+O[\Delta x_{i}]^{4}}

その他

不動点反復法

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

x i + 1 = g ( x i , x i 1 , , x i l + 1 ) , l 1 {\displaystyle x_{i+1}=g(x_{i},x_{i-1},\ldots ,x_{i-l+1}),\qquad l\geq 1}

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

g ( α , α , , α ) = α {\displaystyle g(\alpha ,\alpha ,\ldots ,\alpha )=\alpha }

を満たす。このことから αg不動点 (: Fixed point) と呼ばれる[2][5]

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

x i + 1 = g ( x i ) {\displaystyle x_{i+1}=g(x_{i})}

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

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

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

脚注

出典

  1. ^ a b 矢部2006、126頁。
  2. ^ a b c d e f g h i j 山本哲朗『数値解析入門』(増訂版)サイエンス社〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月。ISBN 4-7819-1038-6。 
  3. ^ a b c d 森正武. 数値解析 第2版. 共立出版.
  4. ^ 戸川隼人. (1977). 共役勾配法. シリーズ新しい応用の数学.
  5. ^ a b c 『精度保証付き数値計算の基礎』大石進一 編著、コロナ社、2018年。
  6. ^ 小澤一文『Cで学ぶ数値計算アルゴリズム』共立出版、2008年、41頁。ISBN 978-4-320-12221-5。 

参考文献

和文

  • 矢部博『工学基礎 最適化とその応用』(初版)数理工学社、2006年3月25日。ISBN 4-901683-34-9。 
  • 藤野清次, & 張紹良. (1996). 反復法の数理. 朝倉書店.

英文

数値線形代数

  • 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.
非線形(無制約)
… 関数 
勾配法
収束性
準ニュートン法
その他の求解法
ヘッセ行列
  • 最適化におけるニュートン法(英語版)
The graph of a strictly concave quadratic function is shown in blue, with its unique maximum shown as a red dot. Below the graph appears the contours of the function: The level sets are nested ellipses.
Optimization computes maxima and minima.
非線形(制約付き)
一般
微分可能
凸最適化
凸縮小化
  • 切除平面法(英語版、デンマーク語版、ドイツ語版、スペイン語版)
  • 簡約勾配法
  • 劣勾配法(英語版)
線型 および
二次
内点法
ベイズ-交換
  • 単体法
  • 改訂単体法(英語版)
  • 十文字法(英語版)
  • レムケの主ピボット操作法(英語版)
組合せ最適化
系列範例
(Paradigms)
グラフ理論
最小全域木
最大フロー問題
メタヒューリスティクス
  • カテゴリ(最適化 • アルゴリズム) • ソフトウェア(英語版)
連立一次方程式
ベクトル
ベクトル空間
計量ベクトル空間
行列線型写像
演算・操作
不変量
クラス
行列式
多重線型代数
数値線形代数
基本的な概念
ソフトウェア
ライブラリ
反復法・技法
人物
行列値関数
その他
カテゴリ カテゴリ
典拠管理データベース: 国立図書館 ウィキデータを編集
  • ドイツ
  • イスラエル
  • アメリカ