Package com.irurueta.numerical.fitting
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 TypeMethodDescriptiondouble[]
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 parametersint
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 evaluatedpoint
- point where function will be evaluatedresult
- result of function evaluation. Its length is equal to the number of function variablesparams
- 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 functionjacobian
- 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
-