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_ITERThe default maximum number of iterations.
Protected fieldStatic memberDEFAULT_TOLERANCEThe 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