final DoubleMatrix1D solution = new DoubleMatrix1D(new double[] {1.0, 1.0, 0.0, 0.0 });
final NonLinearLeastSquare ls = new NonLinearLeastSquare();
final DoubleMatrix2D res = ls.calInverseJacobian(SIGMA, FUNCTION, GRAD, solution);
// System.out.println("invese Jac: " + res);
final DoubleMatrix1D deltaParms = (DoubleMatrix1D) ma.multiply(res, deltaY);
// System.out.println("delta parms: " + deltaParms);
final DoubleMatrix1D y = (DoubleMatrix1D) ma.add(Y, deltaY);
final LeastSquareResults lsRes = ls.solve(X, y, SIGMA, PARAM_FUNCTION, PARAM_GRAD, solution);