Click or drag to resize

ModifiedLevenbergMarquardtMinimizer Class

Class for minimizing the L2 norm of a function using the a modified Levenberg Marquardt algorithm.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreModifiedLevenbergMarquardtMinimizer

Namespace:  CenterSpace.NMath.Core
Assembly:  NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class ModifiedLevenbergMarquardtMinimizer : INonlinearLeastSqMinimizer, 
	ICloneable

The ModifiedLevenbergMarquardtMinimizer type exposes the following members.

Constructors
  NameDescription
Public methodModifiedLevenbergMarquardtMinimizer
Constructs a ModifiedLevenbergMarquardtMinimizer object from the given information.
Public methodModifiedLevenbergMarquardtMinimizer(Double)
Constructs a ModifiedLevenbergMarquardtMinimizer object from the given information.
Public methodModifiedLevenbergMarquardtMinimizer(Int32)
Constructs a ModifiedLevenbergMarquardtMinimizer object from the given information.
Public methodModifiedLevenbergMarquardtMinimizer(Int32, Double)
Constructs a ModifiedLevenbergMarquardtMinimizer object from the given information.
Top
Properties
  NameDescription
Public propertyFinalResidual
Gets the final L2 norm, or residual, of the function being minimized.
Public propertyGradientTolerance
Gets and sets the gradient tolerance. Iteration will stop ||Jk'*Fk|| is less than gradientTolerance, where Jk is value of the Jacobian at the kth iterate and Fk is the value of the objective function at the kth iterate.
Public propertyInitialResidual
Gets the residual associated with the starting point.
Public propertyIterations
Gets the number of iterations performed.
Public propertyMaxIterations
Gets and sets the maximum number of iterations to perform.
Public propertyMaxIterationsMet
Returns true if the minimum just computed stopped because the maximum number of iterations was reached; otherwise, false.
Top
Methods
  NameDescription
Public methodClone
Returns a deep copy of self.
Public methodMinimize(DoubleMultiVariableFunction, DoubleVector)
Minimizes the L2 norm of the given function near the given starting point.
Public methodMinimize(DoubleMultiVariableFunction, DoubleVector, Double)
Minimizes the L2 norm of the given function near the given starting point.
Public methodSetAllTolerances
Sets the gradient tolerance to the given value. Iteration will stop ||Jk'*Fk|| is less than gradientTolerance, where Jk is value of the Jacobian at the kth iterate and Fk is the value of the objective function at the kth iterate.
Top
Fields
  NameDescription
Protected fieldStatic memberDEFAULT_MAX_ITER
The default maximum number of iterations.
Protected fieldStatic memberDEFAULT_TOLERANCE
The default error tolerance to use for both gradient and solution delta
Top
Remarks
This is an implementaion of the algorithm described by Jinyan Fan in the paper: MATHEMATICS OF COMPUTATION Volume 81, Number 277, January 2012, Pages 447–466 S 0025-5718(2011)02496-8 THE MODIFIED LEVENBERG-MARQUARDT METHOD FOR NONLINEAR EQUATIONS WITH CUBIC CONVERGENCE
See Also