方程式系に対するニュートン法の更新式は次の通りです。
\[
\begin{aligned}
\Delta x &= \frac{-f \cdot g_y + g \cdot f_y}{\text{D}} \\\\
\Delta y &= \frac{-g \cdot f_x + f \cdot g_x}{\text{D}}
\end{aligned}
\]
したがって、
\[
\begin{aligned}
x_{n+1} &\approx x_n + \frac{-f \cdot g_y + g \cdot f_y}{\text{D}} \\\\
y_{n+1} &\approx y_n + \frac{-g \cdot f_x + f \cdot g_x}{\text{D}}
\end{aligned}
\]
ここで、\( f \) と \( g \) は現在の \( (x_n, y_n) \) の値で評価される関数です。
\( f_x, f_y, g_x, g_y \) は \( f \) と \( g \) のそれぞれの変数に関する偏微分です。
\(\text{D} = f_x \cdot g_y - f_y \cdot g_x\) はヤコビ行列の行列式です。
反復プロセス
ニュートン法は、上記の式を用いて変数 \( x \) と \( y \) を更新し続け、収束条件が満たされるまで繰り返します。一般的な収束基準は次の通りです。
- 収束許容誤差: 反復間の変数の変化が一定のしきい値を下回ったときに停止。
- 最大反復回数: 最大反復回数に達したときに停止。
1. 初期化: \( x \) と \( y \) の初期推測値で開始します。
2. 関数と微分の評価: \( f(x, y) \)、\( g(x, y) \)、および偏微分を評価します。
3. 行列式の計算: ヤコビ行列の行列式を計算します。
4. 変数の更新: ニュートン法の更新式を使用して、\( \Delta x \) と \( \Delta y \) を計算します。
5. 反復: \( \Delta x \) と \( \Delta y \) を使用して \( x \) と \( y \) を更新し、収束または最大反復回数に達するまで繰り返します。
6. 許容誤差 \( \epsilon \) を使用して \( f(x,y) \) と \( g(x,y) \) の絶対値が次の条件を満たすかをテストします。
- \( |f(x,y)| \lt \epsilon \) かつ \( |g(x,y)| \lt \epsilon \)
7. 計算機は、1回に1つの解を近似します。
計算機
結果
反復回数
\( x \)
\( y \)
\( f(x, y) \)
\( g(x, y) \)
参考文献とリンク
University Calculus - Early Transcendental - Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540
Calculus - Gilbert Strang - MIT - ISBN-13 : 978-0961408824
Calculus - Early Transcendental - James Stewart - ISBN-13: 978-0-495-01166-8