Click or drag to resize

LevenbergMarquardtMinimizerNonAllocating Class

LevenbergMarquardtMinimizer, that doesn't allocate memory during the iterations.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OptimizationNonlinearMinimizerBaseNonAllocating
    Altaxo.Calc.OptimizationLevenbergMarquardtMinimizerNonAllocating

Namespace: Altaxo.Calc.Optimization
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class LevenbergMarquardtMinimizerNonAllocating : NonlinearMinimizerBaseNonAllocating

The LevenbergMarquardtMinimizerNonAllocating type exposes the following members.

Constructors
 NameDescription
Public methodLevenbergMarquardtMinimizerNonAllocatingInitializes a new instance of the LevenbergMarquardtMinimizerNonAllocating class
Top
Properties
 NameDescription
Public propertyFunctionTolerance The stopping threshold for the function value or L2 norm of the residuals.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyGradientTolerance The stopping threshold for infinity norm of the gradient.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyInitialMu The scale factor for initial mu
Protected propertyIsBounded
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyLowerBound The lower bound of the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyMaximumIterations The maximum number of iterations. If null, the maximal number of iterations is determined automatically.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyMinimalRSSImprovement Gets or sets the minimal RSS improvement.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyParameterScaleUpdatePeriod Gets or sets the number of iterations after which the parameter scale is updated (if no user provided scale was set). The default value is 1, that means the parameter scale is updated in each iteration. Set the value to int.MaximumValue if no scale update is neccessary.
Public propertyScales The scale factors for the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyStepTolerance The stopping threshold for L2 norm of the change of the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyUpperBound The upper bound of the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodEvaluateFunction
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodEvaluateJacobian(IObjectiveModelNonAllocating, IReadOnlyListDouble) Evaluates the jacobian, and the hessian of the objective function.
Protected methodEvaluateJacobian(IObjectiveModelNonAllocating, IReadOnlyListDouble, VectorDouble) Evaluates the jacobian, and the hessian of the objective function.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodFindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least square fitting by the Levenberg-Marquardt algorithm.
Public methodFindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, IReadOnlyListNullableDouble, IReadOnlyListNullableDouble, IReadOnlyListDouble, IReadOnlyListBoolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least square fitting by the Levenberg-Marquardt algorithm.
Public methodFindMinimum(IObjectiveModelNonAllocating, Double, NullableDouble, NullableDouble, Double, Boolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least square fitting by the Levenberg-Marquardt algorithm.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodMinimum Non-linear least square fitting by the Levenberg-Marquardt algorithm.
Protected methodProjectToExternalParameters Projects internal to external parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodProjectToInternalParameters
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodScaleFactorsOfJacobian Calculates the scale factor of the jacobian, taking into account the parameter transformations , and the parameter scales.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Protected methodValidateBounds
(Inherited from NonlinearMinimizerBaseNonAllocating)
Top
Fields
 NameDescription
Public fieldStatic memberDefaultInitialMu The default scale factor for initial mu.
Top
Remarks

References:

[1]. Madsen, K., H. B. Nielsen, and O. Tingleff, "Methods for Non-Linear Least Squares Problems. Technical University of Denmark, 2004. Lecture notes." (2004), Available Online from: http://orbit.dtu.dk/files/2721358/imm3215.pdf

[2]. Gavin, Henri, "The Levenberg-Marquardt method for nonlinear least squares curve-fitting problems." Department of Civil and Environmental Engineering, Duke University (2017): 1-19, Availble Online from: http://people.duke.edu/~hpgavin/ce281/lm.pdf

See Also