【Python scipy】newton: Newton法

python

Newton法とは、関数の最小値を求めるための最適化アルゴリズムです。関数の傾きを求め、その傾きを使って関数の最小値を求めることができます。Scipyでは、scipy.optimize.newton関数を使用して、Newton法を実行することができます。

Scipyのnewton関数は、次のような引数を受け取ります。

  • f:最小値を求める関数
  • x0:関数の最小値を求める初期値
  • fprime:関数の導関数
  • args:関数の引数
  • tol:収束判定のための許容誤差
  • maxiter:最大反復回数

以下のPythonコードは、Scipyのnewton関数を使用して、関数f(x)=x^2-2の最小値を求める例です。

import scipy.optimize as opt
def f(x):
return x**2 - 2
def fprime(x):
return 2*x
x0 = 1
x_min = opt.newton(f, x0, fprime, tol=1e-6, maxiter=1000)
print(x_min)

実行結果は、x_min = 1.4142135623730951 となります。

タイトルとURLをコピーしました