ニュートン法とは
ニュートン法(ニュートン・ラフソン法とも呼ばれます)は、方程式の数値解、すなわち \(f(x) = 0\) を満たす値 \(x\) を求める手法のなかでも、最も高速で広く使われている方法のひとつです。まず初期値を与え、その点で曲線に接線を引き、接線がx軸と交わる点を次のより精度の高い近似値とします。これを繰り返すことで解に近づいていきます。うまく収束する場合は2次収束となり、1ステップごとに正しい桁数がおよそ2倍に増えていきます。
この計算機の使い方
変数に \(x\) を用いて関数 \(f(x)\) を入力してください。本ツールは自動微分を行わないため、導関数 \(f'(x)\) もご自身で求めて入力する必要があります。続いて初期値 \(x_0\) と最大反復回数を指定します。計算機は近似解、その解における \(f\) の値(収束していれば0に近い値になります)、使用した反復回数、そして各ステップの計算過程を示した一覧表を返します。使用できる記法は次のとおりです:四則演算の + - * /、べき乗の ^、括弧、関数 sin, cos, tan, asin, acos, atan, exp, ln, log, sqrt, abs、および定数 pi と e。三角関数の引数はラジアンで扱います。
計算式の解説
更新式は $$x_{n+1} = x_{n} - \frac{f(x_{n})}{f^{\prime}(x_{n})}$$ です。各反復では現在の点で関数値と傾きを評価し、接線とx軸の交点へと進みます。もしいずれかのステップで導関数が0になると、接線が水平になってしまい、ゼロ除算エラーとなって計算が破綻します。
計算例
\(f(x) = x - \cos(x)\)、その導関数を \(f'(x) = 1 + \sin(x)\)、初期値を \(x_0 = 1\) とします。ステップ1では $$x_1 = 1 - \frac{1 - \cos 1}{1 + \sin 1} = 0.75034$$ となります。ステップ2では \(0.73912\)、ステップ3では \(0.73909\) となり、わずか数回の反復で \(x = 0.7390851332151607\) に収束します。これは \(x = \cos x\) を満たす有名な「ドッティ数(Dottie number)」です。この点で \(f(x)\) はほぼ0になっています。
よくある質問(FAQ)
なぜ導関数を入力する必要があるのですか? 本ツールは式を評価しますが、記号微分(数式としての微分)は行いません。そのため \(f'(x)\) を手動で入力していただく必要があります。導関数が誤っていると、間違った解が出たり、発散したりします。
なぜ収束しないのですか? ニュートン法は、初期値が不適切な場合、変曲点付近の場合、あるいは実数解が存在しない場合に、発散したり振動したりすることがあります。別の初期値 \(x_0\) を試すか、反復回数の上限を増やしてみてください。
解が複数あるとき、どの解が得られますか? 得られる解は初期値 \(x_0\) に依存します。求めたい解に近い値を初期値として選んでください。