Click or drag to resize

LevenbergMarquardtMinimizerNonAllocatingWrappedParameters Class

Levenberg-Marquardt minimizer that does not allocate memory during iterations and uses wrapped parameters for handling bounds.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OptimizationNonlinearMinimizerBaseNonAllocating
    Altaxo.Calc.OptimizationLevenbergMarquardtMinimizerNonAllocatingWrappedParameters

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

The LevenbergMarquardtMinimizerNonAllocatingWrappedParameters type exposes the following members.

Constructors
 NameDescription
Public methodLevenbergMarquardtMinimizerNonAllocatingWrappedParametersInitializes a new instance of the LevenbergMarquardtMinimizerNonAllocatingWrappedParameters class
Top
Properties
 NameDescription
Public propertyFunctionTolerance Gets or sets the stopping threshold for the function value or L2 norm of the residuals.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyGradientTolerance Gets or sets the stopping threshold for the infinity norm of the gradient.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyInitialMu Gets or sets the scale factor for the initial mu.
Protected propertyIsBounded Gets a value indicating whether bounded optimization is active (bounds and/or scales are configured).
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyLowerBound Gets the lower bound of the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyMaximumIterations Gets or sets the maximum number of iterations. If , the maximum 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, which means the parameter scale is updated in each iteration. Set the value to MaxValue if no scale update is necessary.
Public propertyScales Gets the scale factors for the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyStepTolerance Gets or sets the stopping threshold for the L2 norm of the change of the parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Public propertyUpperBound Gets 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 Evaluates the objective function at the provided internal parameter values.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodEvaluateJacobian Evaluates the Jacobian-derived gradient 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 squares fitting by the Levenberg-Marquardt algorithm.
Public methodFindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, IReadOnlyListNullableDouble, IReadOnlyListNullableDouble, IReadOnlyListDouble, IReadOnlyListBoolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least squares fitting by the Levenberg-Marquardt algorithm.
Public methodFindMinimum(IObjectiveModelNonAllocating, Double, NullableDouble, NullableDouble, Double, Boolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least squares 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 squares fitting by the Levenberg-Marquardt algorithm.
Protected methodProjectToExternalParameters Projects internal to external parameters.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Protected methodProjectToInternalParameters Projects external to internal parameters.
(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 Validates and stores parameter bounds and scale factors.
(Inherited from NonlinearMinimizerBaseNonAllocating)
Top
Fields
 NameDescription
Public fieldStatic memberDefaultInitialMu The default scale factor for the 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, Available online from: http://people.duke.edu/~hpgavin/ce281/lm.pdf

See Also