数値微分タスクに commons-math ライブラリを使用しようとしています。DerivativeStructures を使用して、機能すると思われる非常に単純な関数を作成しました。どうやら私が間違っていたようです。
public static void main(String[] args) {
DerivativeStructure x0 = new DerivativeStructure(2, 2, 2.0);
DerivativeStructure y0 = new DerivativeStructure(2, 2, 4.0);
DerivativeStructure xi = x0.pow(2);
DerivativeStructure yi = y0.pow(2);
DerivativeStructure f = xi.add(yi);
System.out.println(f.getValue());
System.out.println(f.getPartialDerivative(1, 0)); // (?)
System.out.println(f.getPartialDerivative(0, 1)); // (?)
}
ポイント(2.0、4.0)で多変量関数f(x)= x ^ 2 + y ^ 2の1次および2次偏導関数を取得しようとしています。結果として、df/dx では 4.0、df/dy では 8.0 が 1 次パーシャルとして期待されます。2 次パーシャルの場合は 2.0。しかし、私は正しい f(x,y) 値を取得していますが、この javadoc からは少しもわかりません。ここでスタックオーバーフローに関するいくつかの質問を見ましたが、commons-math の不透明なドキュメントについていくつかのコメントがありましたが、多変量関数の実際の例はありませんでした。一変量私は解決できますが、これはできません...
ヒントをいただければ幸いです。