- ベストアンサー
2変数のときのニュートン法
ニュートン法で多変数関数を最適化する方法についてやったことあるんですが忘れてしまいました。 1変数ならわかります。f(x)=0の解を求めたい場合は、 Xn+1=Xn-f(Xn)/f'(Xn) という漸化式で徐々に近づいていけばいいんですよね? では、例えば 「3x^2+6xy+5y^2-4x-6yを最小化せよ」 なんてのを解く場合にはどうすればいいんでしょうか? 漸化式だけ教えてくれればあとは思い出せると思います。お願いします。
- みんなの回答 (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)は正定値のため、この極値で最小をとることもいえます。
その他の回答 (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
質問者
お礼
参考のサイトも挙げてくださってありがとうございます。 おかげで何とかなりました。
お礼
おお! ありがとうございます。おかげさまでちゃんと解けました。 一度習ったんですが長年使ってなかったもので、すっかり忘れてました。