方程式の数値解法

方程式の数値解法

執筆済 数学数値計算

f(x)=0 を満たす x を反復で求める。

主な方法#

方法 収束 必要なもの 保証
二分法 線形 符号が変わる区間 必ず収束
割線法 超線形(約 1.62 次) 2 つの初期値 なし
Newton 法 二次 導関数、良い初期値 なし
Brent 法 実用上高速 区間 必ず収束

速さと確実さの綱引き#

Newton 法は最も速いが、初期値が悪いと発散する。 二分法は遅いが必ず収束する。

Brent 法は両者を組み合わせ、 速い手法を試しつつ、うまくいかなければ二分法に落とす。 SciPy の brentq が既定手法になっているのはこのため。 実務では「速いが不確実」より「そこそこ速くて確実」が選ばれる。

停止条件#

|f(x)|<ϵ だけでは不十分。 f の傾きが小さいと、f が小さくても x は解から遠い。 |xk+1xk| も併せて見る。

参考文献#

ノート一覧を閉じる