ExcelVbaを用いた数値解析-線形反復法とエイトケンのδ2乗法-
概要-エクセルVBAによる非線形方程式の解法-
非線形方程式の解を求めることは多くの分野において重要な問題の一つである。
ここでは、非線形方程式の一種である線形反復法とAitkenのΔ2乗法の解説と、それらを行うためのプログラムをエクセルVBAで作成した。
関連: ニュートン法による数値解析
- 線形反復法
- AitkenのΔ2乗法
- まとめ
目次
線形反復法
方程式f(x)=0を変形しx=g(x)の形にすることができれば、方程式の解を漸化式の形で得ることができる。
これを利用した方法を線形反復法(Linear interation)といい、式1-1の様な方法で解を得ることができる。

線形反復法の収束条件
線形反復法で解を得るためには上式1-1が収束する必要がある。ここではそのための条件を述べる。
方程式の解がx=αの時、α=g(α)と書くことができる。
式1-1からこれを引くと式1-2になる。

ここで、式1-2の右辺に平均値の定理を使うと、式1-3が得られる。

次に式1-3の右辺にあるg’(x)の絶対値の最大値をKとする。(式1-4)

式1-4に式1-3の絶対値を取ったものに代入すると式1-5が得られる。

以上より、K<1の時に線形反復法は収束するとわかる。
VBAによる線形反復法プログラム
今回は方程式x 2-x-2=0の解を線形反復法により求めた。(下記コード)
これを変形しx=x 2 -2と変形し、xの初期値を3(x 0=3)とし、これに式1-1を適用して解を求めた。
上記プログラムを実行すると、17回の反復で収束し解の1つであるx=2に近い値を得ることができた。
AitkenのΔ2乗法
式1-6からわかるようにK≒1の時、収束の速度は遅い。
AitkenのΔ2乗法を用いると収束を加速させることができる。
Kを定数と見なし式1-2を用いると式2-1の2式が得られる。

上式を用いると、αの近似値が得られる(式2-2)。

上式のαををx i+3の近似値と見なし解を得る方法をAitkenのΔ2乗法という。
これを用い、繰り返し計算により解を得るためには、x 0,x 1,x 2を用いx 3を得る、
次いでx 3,x 4,x 5を用いx 6を得るというように。x 3,x
6,x 9・・・に対しAitkenのΔ2乗法を用い、ほかに対して線形反復法を用いる。
VBAによるAitkenのΔ2乗法プログラム
線形反復法と同様に、x 2-x-2=0の解をAitkenのΔ2乗法により求めた。(下記コード)
線形反復法と同様に解の1つである、x=2に近い値を得ることができた。 加えて収束の速度が改善されていることが確認できた。(下図)

まとめ
線形反復法とAitkenのΔ2乗法プログラムを作成し、方程式の解を求めた。
いずれの方法でも解の近似値を得ることができた。