Interface LevenbergMarquardtMultiDimensionFunctionEvaluator


public interface LevenbergMarquardtMultiDimensionFunctionEvaluator
Interface to evaluate non-linear multidimensional functions. Evaluation of functions requires both function value at provided point x and function gradient respect to its parameters (i.e. derivatives respect to its parameters).
  • Method Summary

    Modifier and Type
    Method
    Description
    double[]
    Creates array where estimated parameters will be stored.
    double
    evaluate(int i, double[] point, double[] params, double[] derivatives)
    Evaluates a non-linear multi dimension function at provided point using provided parameters and returns its evaluation and derivatives of the function respect the function parameters.
    int
    Number of dimensions of points (i.e. length of arrays) evaluated by this function evaluator.
  • Method Details

    • getNumberOfDimensions

      int getNumberOfDimensions()
      Number of dimensions of points (i.e. length of arrays) evaluated by this function evaluator.
      Returns:
      number of dimensions of points.
    • 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

      double evaluate(int i, double[] point, double[] params, double[] derivatives) throws EvaluationException
      Evaluates a non-linear multi dimension function at provided point using provided parameters and returns its evaluation and derivatives of the function respect the function parameters.
      Parameters:
      i - number of sample being evaluated.
      point - point where function will be evaluated.
      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.
      derivatives - partial derivatives of the function respect to each provided parameter.
      Returns:
      function evaluation at provided point.
      Throws:
      EvaluationException - raised if something failed during the evaluation.