public NumericalJacobianFB(FunctionNtoM function, double differenceScale) { this.function = function; this.differenceScale = differenceScale; this.N = function.getNumOfInputsN(); this.M = function.getNumOfOutputsM(); output0 = new double[M]; output1 = new double[M]; }
@Override public void computeFunctions(double[] output) { func.process(x,output); }
@Override public int getNumOfInputsN() { return func.getNumOfInputsN(); }
@Override public int getNumOfOutputsM() { return func.getNumOfOutputsM(); }
@Override public int getNumOfInputsN() { return func.getNumOfInputsN(); }
@Override public int getNumOfOutputsM() { return func.getNumOfOutputsM(); }
public NumericalJacobianForward_DSCC(FunctionNtoM function, double differenceScale) { this.function = function; this.differenceScale = differenceScale; this.N = function.getNumOfInputsN(); this.M = function.getNumOfOutputsM(); output0 = new double[M]; output1 = new double[M]; }
@Override public double process(double[] input) { func.process(input,output); double result = 0; for( int i = 0; i < output.length; i++ ) { result += output[i]*output[i]; } return result; } }
@Override public int getNumOfInputsN() { return func.getNumOfInputsN(); }
public LsToNonLinear(FunctionNtoM func) { this.func = func; output = new double[ func.getNumOfOutputsM() ]; }
public NumericalJacobianForward_DDRM(FunctionNtoM function, double differenceScale) { this.function = function; this.differenceScale = differenceScale; this.N = function.getNumOfInputsN(); this.M = function.getNumOfOutputsM(); output0 = new double[M]; output1 = new double[M]; }
@Override public double process(double[] input) { func.process(input,output); double result = 0; for( int i = 0; i < output.length; i++ ) { result += output[i]*output[i]; } return result; } }
@Override public int getNumOfInputsN() { return func.getNumOfInputsN(); }
public LsToNonLinear(FunctionNtoM func) { this.func = func; output = new double[ func.getNumOfOutputsM() ]; }
public NumericalJacobianForward_DSCC(FunctionNtoM function, double differenceScale) { this.function = function; this.differenceScale = differenceScale; this.N = function.getNumOfInputsN(); this.M = function.getNumOfOutputsM(); output0 = new double[M]; output1 = new double[M]; }
@Override protected void computeResiduals(DMatrixRMaj x, DMatrixRMaj residuals) { functionResiduals.process(x.data,residuals.data); } }
@Override public void initialize(double[] initial, double ftol, double gtol) { this.initialize(initial,functionResiduals.getNumOfInputsN(),0); config.ftol = ftol; config.gtol = gtol; }
public NumericalJacobianForward_DDRM(FunctionNtoM function, double differenceScale) { this.function = function; this.differenceScale = differenceScale; this.N = function.getNumOfInputsN(); this.M = function.getNumOfOutputsM(); output0 = new double[M]; output1 = new double[M]; }
@Override protected void computeResiduals(DMatrixRMaj x, DMatrixRMaj residuals) { functionResiduals.process(x.data,residuals.data); } }
@Override public void initialize(double[] initial, double ftol, double gtol) { this.initialize(initial,functionResiduals.getNumOfInputsN(),0); config.ftol = ftol; config.gtol = gtol; }