Interface LevenbergMarquardtMultiVariateFunctionEvaluator


public interface LevenbergMarquardtMultiVariateFunctionEvaluator
Interface to evaluate non-linear multi variate and multidimensional functions. Evaluation of functions requires both function value at provided point x and function jacobian respect to its parameters (i.e. derivatives respect to its parameters for each function output or variable)
  • Method Summary

    Modifier and Type
    Method
    Description
    double[]
    Creates array where estimated parameters will be stored.
    void
    evaluate(int i, double[] point, double[] result, double[] params, com.irurueta.algebra.Matrix jacobian)
    Evaluates a non-linear multi variate function at provided point using provided parameters and returns its evaluation and jacobian of the function respect the function parameters
    int
    Number of dimensions of points (i.e.
    int
    Number of variables of function f.
  • Method Details

    • getNumberOfDimensions

      int getNumberOfDimensions()
      Number of dimensions of points (i.e. length of input points arrays) evaluated by this function evaluator
      Returns:
      number of dimensions of points
    • getNumberOfVariables

      int getNumberOfVariables()
      Number of variables of function f. This is equal to the length of the array obtained as function evaluations. Hence, a function f can be expressed as f = [f1, f2, ... fN], and the number of variables would be N
      Returns:
      number of variables of function f
    • createInitialParametersArray

      double[] createInitialParametersArray()
      Creates array where estimated parameters will be stored. This array MUST contain the initial guessed solution for the Levenberg- Marquardt algorithm
      Returns:
      array where estimated parameters will be stored
    • evaluate

      void evaluate(int i, double[] point, double[] result, double[] params, com.irurueta.algebra.Matrix jacobian) throws EvaluationException
      Evaluates a non-linear multi variate function at provided point using provided parameters and returns its evaluation and jacobian of the function respect the function parameters
      Parameters:
      i - number of sample being evaluated
      point - point where function will be evaluated
      result - result of function evaluation. Its length is equal to the number of function variables
      params - initial parameters estimation to be tried. These will change as the Levenberg-Marquard algorithm iterates to the best solution. These are used as input parameters along with point to evaluate function
      jacobian - jacobian containing partial derivatives of the function respect to each provided parameter for each function output or variable
      Throws:
      EvaluationException - raised if something failed during the evaluation