• ベストアンサー

2変数のときのニュートン法

ニュートン法で多変数関数を最適化する方法についてやったことあるんですが忘れてしまいました。 1変数ならわかります。f(x)=0の解を求めたい場合は、 Xn+1=Xn-f(Xn)/f'(Xn) という漸化式で徐々に近づいていけばいいんですよね? では、例えば 「3x^2+6xy+5y^2-4x-6yを最小化せよ」 なんてのを解く場合にはどうすればいいんでしょうか? 漸化式だけ教えてくれればあとは思い出せると思います。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kony0
  • ベストアンサー率36% (175/474)
回答No.2

Xをベクトルとします。 R^n→R^1の関数f(X)の極値(及び鞍点)を求めるには、∇f(X)=0を解けばよいです。 ここで∇f(X)はR^n→R^nの関数で、そのi番目の成分は∂f/∂x_iです。 この方程式を解くニュートン法は1次元の場合とほぼ同じであり、漸化式は X_{n+1} = X_{n} - D(X_{n})^(-1) ∇f(X_{n}) で与えられます。ここで、D(X)はn*n行列であり、その(i,j)成分は∂^2f/∂x_i∂x_jです。 で、この問題は、目的関数が2次なので、D(X)は定数行列となり、任意の点X_{0}に対してX_{1}が極値をとる点となります。またD(X)は正定値のため、この極値で最小をとることもいえます。

dollar
質問者

お礼

おお! ありがとうございます。おかげさまでちゃんと解けました。 一度習ったんですが長年使ってなかったもので、すっかり忘れてました。

その他の回答 (1)

  • sunasearch
  • ベストアンサー率35% (632/1788)
回答No.1

どうぞ。 F( a + δX , b + δY ) = F( a, b ) + dF(a,b)/dX *δX + dF(a,b)/dY *δY

参考URL:
http://www.geocities.co.jp/SiliconValley-Oakland/1253/newton.html
dollar
質問者

お礼

参考のサイトも挙げてくださってありがとうございます。 おかげで何とかなりました。

関連するQ&A