さらにEqSysも妄想中
EqSys:方程式系のモデル
/*[class] Mat 5/20/2008 by Classiclll多価関数 F : R^n -> R^m および、方程式系 F(x) = [0] の抽象モデル
利用するには、EqSysから継承して、抽象メソッド
valueAt(x) :ベクトルxにおける値を評価する
gradAt(x) :ベクトルxにおけるグラディエントを評価する
の実装が必要。(domとrngへの正しい値の設定も忘れずに)
陽にナブラを評価できない(=微分不可能な)関数の場合、
gradAt(x):nullを返す
diffAt(x, d):オーバーライドして、[{Fi(x+d)-Fi(x)}/dj]を定義する
ように実装する。
(現在のところ実装予定の解法はニュートン法のみ)
抽象クラス
abstract class EqSys { private int dom=0, rng=0; int domDim() //dimension of the domain (n) int rngDim() //dimension of the range (m) abstract double valueAt(Vec x); //value of the equation (R^n -> R^m) system. abstract Vec gradAt(Vec x); //gradient vec of the EqSys. Vec diffAt(Vec x, Vec d) // overwride if needed Vec solveByNewton(Vec x0) // find the solution by the newton, start from x0 }