Levenberg Marquardt Optimizer Class
Implements the Levenberg-Marquardt algorithm for non-linear least-squares.
Definition
Namespace: Numerics.NET.Optimization
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.4
public sealed class LevenbergMarquardtOptimizer : LeastSquaresOptimizer
- Inheritance
- Object → ManagedIterativeAlgorithm<Vector<Double>, Double, SolutionReport<Vector<Double>, Double>> → ManagedIterativeAlgorithm<Vector<Double>> → LeastSquaresOptimizer → LevenbergMarquardtOptimizer
Remarks
Use the LevenbergMarquardtOptimizer class to optimize a function that is a sum or weighted sum of squares of functions.
To verify that the algorithm terminated normally, you can inspect the Status property, which is of type AlgorithmStatus. A value of Converged indicates that the algorithm terminated normally. However, it is still possible that the algorithm didn't converge to the actual best fit. A visual inspection is always recommended.
Constructors
Levenberg | Constructs a new LevenbergMarquardtOptimizer object. |
Properties
Auto | Gets or sets whether scaling should be used. |
Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Dimensions |
Gets or sets the number of dimensions of the optimization problem.
(Inherited from LeastSquaresOptimizer) |
Estimated |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Evaluations |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Gradient |
Gets the VectorConvergenceTest<T> that uses the gradient of the objective function.
(Inherited from LeastSquaresOptimizer) |
Gradient |
Gets or sets the current value of the gradient.
(Inherited from LeastSquaresOptimizer) |
Has |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Initial |
Gets or sets the initial value for the iteration.
(Inherited from LeastSquaresOptimizer) |
Initial |
Gets or sets the initial size of the trust region.
(Inherited from LeastSquaresOptimizer) |
Iterations |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Jacobian |
Gets or sets the number of times the Jacobian was evaluated.
(Inherited from LeastSquaresOptimizer) |
Jacobian |
Gets or sets a delegate that computes the Jacobian of the problem.
(Inherited from LeastSquaresOptimizer) |
Lower |
Gets or sets the vector of lower bounds for the solution.
(Inherited from LeastSquaresOptimizer) |
Max |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Minimum |
Gets or sets the current best approximation to the minimum.
(Inherited from LeastSquaresOptimizer) |
Minimum |
Gets or sets the current value of the objective function.
(Inherited from LeastSquaresOptimizer) |
Min |
Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Number |
Gets or sets the number of functions in the problem.
(Inherited from LeastSquaresOptimizer) |
Objective |
Gets or sets a delegate that computes the function values of the problem.
(Inherited from LeastSquaresOptimizer) |
Parallel |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Result |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Solution |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Solution |
Gets the VectorConvergenceTest<T> that uses the approximate solution.
(Inherited from LeastSquaresOptimizer) |
Status |
Gets the AlgorithmStatus following
an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Throw |
Gets or sets whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Upper |
Gets or sets the upper bounds for the solution.
(Inherited from LeastSquaresOptimizer) |
Value |
Gets the SimpleConvergenceTest<T> that uses the value of the target functions.
(Inherited from LeastSquaresOptimizer) |
Variance |
Gets the variance-covariance matrix of the solution.
(Inherited from LeastSquaresOptimizer) |
Methods
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Find |
Runs the Levenberg-Marquardt algorithm and returns the result.
(Inherited from LeastSquaresOptimizer) |
Get | Serves as the default hash function. (Inherited from Object) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Set |
Sets the objective function as a list of symbolic expressions.
(Inherited from LeastSquaresOptimizer) |
Set |
Sets the objective function as a list of symbolic expressions.
(Inherited from LeastSquaresOptimizer) |
ToString | Returns a string that represents the current object. (Inherited from Object) |