最適化(Newton 法)

  テキストフィールドおよびテキストエリアには,例として,以下に示すような関数の最小値を求める場合に対する値が設定されています(他の問題を実行する場合は,それらを適切に修正してください).

n 変数関数 f(x) に対する Newton 法においては,現在の点 x における傾き,

と Hesse 行列の計算結果から方向 p を求め,その方向にαだけ進んだ点の関数値 f( x + αp) を計算する,という処理を繰り返します.目的関数の箇所には,この例に対する f( x + αp) の計算式,目的関数の微分の箇所には,g の計算式が与えられています.ただし,プログラム内では,変数 x は,この例の x と y からなる配列,変数 dx は g に対応し,関数 f を x 及び y で微分したものからなる配列,また,k はαに対応する変数として表現されています.また,Hesse 行列は,1 行 1 列,1 行 2 列,・・・,n 行 n 列の順で入力して下さい. なお,目的関数,目的関数の微分,及び,Hesse 行列は,JavaScript の仕様に適合した形式で記述してあることに注意してください.
変数の数(n):  最大繰り返し回数:  刻み幅:
初期値(n個):  1次元最適化:

目的関数: f(x+αp) =

目的関数の微分: f'(x) =

Hesse行列: H =



結果: