Levenberg |
public class LevenbergMarquardtMinimizerWithConstraintsNonAllocating
The LevenbergMarquardtMinimizerWithConstraintsNonAllocating type exposes the following members.
| Name | Description | |
|---|---|---|
| LevenbergMarquardtMinimizerWithConstraintsNonAllocating | Initializes a new instance of the LevenbergMarquardtMinimizerWithConstraintsNonAllocating class |
| Name | Description | |
|---|---|---|
| FunctionTolerance | Gets or sets the stopping threshold for the function value or L2 norm of the residuals. | |
| GradientTolerance | Gets or sets the stopping threshold for the infinity norm of the gradient. | |
| InitialMu | Gets or sets the scale factor for the initial mu. | |
| MaximumIterations | Gets or sets the maximum number of iterations. If , the maximum number of iterations is determined automatically. | |
| MinimalRSSImprovement | Gets or sets the minimal RSS improvement. | |
| ParameterScaleUpdatePeriod | Gets or sets the number of iterations after which the parameter scale is updated (if no user-provided scale was set). Default is 1 (update every iteration). Set to MaxValue to disable automatic scale updates. | |
| Projector | Gets or sets the constraint projector. When , the minimizer runs unconstrained (equivalent to the original behaviour without box constraints). | |
| Scales | Gets the scale factors used for the parameters. Set automatically if not provided by the caller. | |
| StepTolerance | Gets or sets the stopping threshold for the L2 norm of the change of the parameters. |
| Name | Description | |
|---|---|---|
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) | |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) | |
| FindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) | Non-linear least squares fitting by the Levenberg-Marquardt algorithm, without constraints. | |
| FindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, IReadOnlyListDouble, IReadOnlyListBoolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) | Non-linear least squares fitting by the Levenberg-Marquardt algorithm. | |
| GetHashCode | Serves as the default hash function. (Inherited from Object) | |
| GetType | Gets the Type of the current instance. (Inherited from Object) | |
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) | |
| Minimum | Core Levenberg-Marquardt minimization with linear constraint projection. | |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| Name | Description | |
|---|---|---|
| DefaultInitialMu | The default scale factor for the initial mu. |
The projection approach keeps the algorithm working in the original (external) parameter space at all times — there is no internal/external parameter transformation. After every LM step the candidate point is projected back onto the feasible set. The active set returned by the projector directly identifies which parameters are constrained (and therefore temporarily fixed for the gradient/Hessian update).
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