LevenbergMarquardtMinimizerNonAllocatingMinimum Method |
Non-linear least square fitting by the Levenberg-Marquardt algorithm.
Namespace: Altaxo.Calc.OptimizationAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax public NonlinearMinimizationResult Minimum(
IObjectiveModelNonAllocating objective,
IReadOnlyList<double> initialGuess,
IReadOnlyList<double?>? lowerBound,
IReadOnlyList<double?>? upperBound,
IReadOnlyList<double>? scales,
IReadOnlyList<bool>? isFixedByUser,
CancellationToken cancellationToken,
Action<int, double, IReadOnlyList<double>>? reportChi2Progress,
double initialMu,
double gradientTolerance,
double stepTolerance,
double functionTolerance,
double minimalRSSImprovement,
int? maximumIterations
)
Parameters
- objective IObjectiveModelNonAllocating
- The objective function, including model, observations, and parameter bounds.
- initialGuess IReadOnlyListDouble
- The initial guess values.
- lowerBound IReadOnlyListNullableDouble
- The lower bounds of the parameters. The array must have the same length as the parameter array. Provide null if not needed.
- upperBound IReadOnlyListNullableDouble
- The upper bounds of the parameters. The array must have the same length as the parameter array. Provide null if not needed.
- scales IReadOnlyListDouble
- The scales of the parameters. The array must have the same length as the parameter array. Provide null if not needed.
- isFixedByUser IReadOnlyListBoolean
- Array of booleans, which provide which parameters are fixed. Must have the same length as the parameter array. Provide null if not needed.
- cancellationToken CancellationToken
- Token to cancel the evaluation
- reportChi2Progress ActionInt32, Double, IReadOnlyListDouble
- Event handler that can be used to report the NumberOfIterations and Chi² value achived so far. Can be null
- initialMu Double
- The initial damping parameter of mu.
- gradientTolerance Double
- The stopping threshold for infinity norm of the gradient vector.
- stepTolerance Double
- The stopping threshold for L2 norm of the change of parameters.
- functionTolerance Double
- The stopping threshold for L2 norm of the residuals.
- minimalRSSImprovement Double
- The minimal improvement of the Chi² value in 8 iterations. Must be in the range [0,1).
- maximumIterations NullableInt32
- The maximal number of iterations. Provide -1 if the number of iterations should be set automatically. Provide 0 if only a function evaluation should be done.
Return Value
NonlinearMinimizationResultThe result of the Levenberg-Marquardt minimization
See Also