ClassEqSys : Model of the General Equation System
test applet and code is here
/*[class] EqSys 5/20/2008 by Classiclll
*
*Model of multi-value Vector Functions, the Equation System
* f(x) = [ fi(x) | fi : R^n -> R^m ]
* can solve the multi-value non-linear equation, with Simplex(Nelder) and Newton
* f(x) = 0
*/
EqSys(int dom, int rng) //constructor with dimension of domain & codomain.
int domDim() //dimension of the domain (n)
int rngDim() //dimension of the range (m)
abstract Vec valueAt(Vec x) //value of the equation system(R^n -> R^m) at x
//Jacobian at x, if not continuouse, you can return diffAt(x,d)
abstract Mat jacobAt(Vec x)
/* [Sample] Jacobian of f(x) = { x+y+z-1, y+z-1, x+z-1 }
double[][] jacobi = { {1, 1, 1}, // { {dxf0(X), dyf0(X), dzf0(X)}
{0, 1, 1}, // {dxf1(X), dyf1(X), dzf1(X)}
{1, 0, 1} }; // {dxf2(X), dyf2(X), dzf2(X)} }
*/
Vec diffAt(Vec x, Vec d) // overwride if needed
Vec solveByNewton(Vec x0) // find the solution by the newton, start at x0
Vec solveBySimplex(Vec x0, int limit)
// find the solution by the simplex, start at x0
Vec solveBySimplex(Vec x0, int limit, int tryal)
// find the solution by the simplex, start at x0