ミュラー法は、f ( x ) = 0の形の方程式を解くための数値解法である根探索アルゴリズムです。これは、1956年にデイビッド・E・ミュラーによって初めて発表されました。

ミュラー法は、割線法の2次漸化式に類似した3次漸化式に従って進行します。割線法は、fのグラフ上の最後の2つの反復近似値に対応する2点を通る直線を構築し、各反復でその直線の根を次の近似値として使用しますが、対照的に、ミュラー法は、最後の3つの反復近似値に対応する3点を使用し、これらの3点を通る放物線を構築し、各反復でその放物線の根を次の近似値として使用します。
ミュラー法は、根の3つの初期近似値を使用します。そして、そして次の近似値を決定しますx軸と放物線の交点を考慮すると、、そして .
二次多項式を考える
通過する、そして表記を簡略化するために、差分を定義します。
そして
3つの点をそれぞれ代入すると、そしての中へそして同時に解くそして与える
次に二次方程式の解の公式を適用します。決定するとして
根号の前の符号は、次の反復が に最も近いことを保証する、
一度が決定したら、このプロセスを繰り返します。分母に根号が含まれているため、前の反復がすべて実数であっても、反復が複素数になる可能性があることに注意してください。これは、実数から開始すれば反復が実数のままとなる割線法、Sidiの一般化割線法、ニュートン法などの他の根探索アルゴリズムとは対照的です。反復が複素数になることは、問題によっては利点(複素根を探している場合)にも欠点(すべての根が実数であることがわかっている場合)にもなり得ます。
この方法は、衝突検出などのシナリオに容易に適用でき、最も近いルートではなく、より小さいルートを置き換えることで、と:
以下の擬似コードは、方程式f ( x ) = 0の根を近似するためのミュラー法を記述しています。このコードは推定値を返します。満たす、そこではユーザーが指定する許容値です。
入力:関数f、初期近似値x0、x1、x2、許容誤差ε、最大反復回数Nmaxをn = 0 からNmaxまで繰り返すh0 ← x1 − x0 h1 ← x2 − x1 δ0 ← ( f ( x1 ) − f ( x0 )) / h0 δ1 ← ( f ( x2 ) − f ( x1 )) / h1 a ← ( δ1 − δ0 ) / ( h1 + h0 ) b ← a · h1 + δ1 c ← f ( x2 ) if b ≥ 0 then denominator ← b + sqrt( b ² − 4· a · c ) else denominator ← b − sqrt( b ² − 4· a · c ) end if x3 ← x2 − 2· c / denominator if | x3 − x2 | < ε then return x3 end if x0 ← x1 x1 ← x2 x2 ← x3 end for return x3
多項式の解を求めるとしよう
初期推定値を用いたミュラー法の適用、そしてそして寛容さ次のような近似値が得られます。
必要な許容誤差内で、ミュラー法は解を生成する。6回目の反復で。
初期推定値を変更することで、ミュラー法は複雑な解も生成できます。ミュラー法を再度適用しますが、初期推定値は、そしてそして寛容さ次のような近似値が得られます。
ミュラー法は、要求された許容誤差内で複素解を生成する。8回目の反復で。
実数値関数を仮定するルートは にあります。 のエラーを表すミュラー法の反復。定義により、 どこは収束次数です。したがって、 そして これにより そして 根元付近テイラーの定理によれ ば、 どこは剰余項であり、次のように定義される。 一部の人にとって間そして。ミュラー法の3回の連続反復を用いて、、そしてルートで評価すると
または 次の反復は、補間二次関数をゼロに設定することによって得られるため、漸近的には、 使用 そして 与える
定義により、 指数を等しくすると これは次のように並べ替えることができます
この方程式を解くと、したがって、ミュラー法の収束次数は、トリボナッチ数列の定数と正確に一致します。これは、割線法の約1.618(黄金比と正確に一致)や、ニュートン法の2と正確にます。つまり、割線法はミュラー法よりも反復あたりの進捗が少なく、ニュートン法の方が進捗が多いということです。
より正確には、は単一の根を表しますそしてそして初期推定値が 3 回連続微分可能であれば、、そして十分に近くで撮影されている、すると反復は以下を満たす
どこはの正の解です、トリボナッチ定数の定義式。
ミュラー法は、各反復で得られた最後の 3 つの点f ( x k −1 )、f ( x k −2 )およびf ( x k −3 )に放物線、つまり 2 次多項式を当てはめます。これを一般化して、 k番目の反復で最後のm +1点に次数mの多項式p k、m ( x )を当てはめることができます。この表記では、放物線y kはp k、2と書きます。次数mは 1 以上でなければなりません。次の近似x kは、 p k、mの根の 1 つ、つまりp k、m ( x ) = 0の解の 1 つになります。m = 1とすると割線法が得られ、m = 2とするとミュラー法が得られます。
ミュラーは、このようにして生成された数列{ x k }が次数μ mで根 ξ に収束することを計算した。ここでμ m はの正の解である。 .
m が無限大に近づくと、方程式の正の解は 2 に近づきます。ただし、m > 2 の場合、次数 3 以上の多項式の根を決定するのがはるかに難しいため、m = 1 または m = 2 の場合よりもこの方法ははるかに困難です。もう 1 つの問題は、m > 2の場合、p k、mのどの根を次の近似x kとして選択するかについての規定がないように見えることです。
これらの困難は、多項式p k , mも使用するSidi の一般化割線法によって克服されます。この方法では、 p k , m ( x ) = 0を解こうとする代わりに、次の近似値x k は、 x k −1におけるp k , mの導関数の助けを借りて計算されます。