LevenbergMarquardtMinimizerNonAllocatingWrappedParametersMinimum Method |
Non-linear least squares fitting by the Levenberg-Marquardt algorithm.
Namespace: Altaxo.Calc.OptimizationAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntaxpublic 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. Must have the same length as initialGuess. Provide if not needed.
- upperBound IReadOnlyListNullableDouble
- The upper bounds of the parameters. Must have the same length as initialGuess. Provide if not needed.
- scales IReadOnlyListDouble
- The scales of the parameters. Must have the same length as initialGuess. Provide if not needed.
- isFixedByUser IReadOnlyListBoolean
- Array indicating which parameters are fixed. Must have the same length as initialGuess. Provide if not needed.
- cancellationToken CancellationToken
- Token to cancel the evaluation.
- reportChi2Progress ActionInt32, Double, IReadOnlyListDouble
- Callback used to report the number of iterations, Chi² value, and current parameter set achieved so far. Can be .
- initialMu Double
- The initial damping parameter mu.
- gradientTolerance Double
- The stopping threshold for the infinity norm of the gradient vector.
- stepTolerance Double
- The stopping threshold for the L2 norm of the change of parameters.
- functionTolerance Double
- The stopping threshold for the function value / RSS.
- minimalRSSImprovement Double
- The minimal improvement of the Chi² value in 8 iterations. Must be in the range [0,1).
- maximumIterations NullableInt32
- The maximum number of iterations. Provide if the number of iterations should be determined automatically. Provide 0 if only a function evaluation should be done.
Return Value
NonlinearMinimizationResultThe result of the Levenberg-Marquardt minimization.
See Also