Click or drag to resize

LevenbergMarquardtMinimizerNonAllocatingWrappedParametersMinimum Method

Non-linear least square fitting by the Levenberg-Marquardt algorithm.

Namespace: Altaxo.Calc.Optimization
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
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

NonlinearMinimizationResult
The result of the Levenberg-Marquardt minimization
See Also