Namespaces

Types in MathNet.Numerics.Optimization

Type LevenbergMarquardtMinimizer

Namespace MathNet.Numerics.Optimization

Parent NonlinearMinimizerBase

Constructors

Methods

Properties

Public Constructors

LevenbergMarquardtMinimizer(double initialMu, double gradientTolerance, double stepTolerance, double functionTolerance, int maximumIterations)

Public Methods

bool Equals(object obj)

NonlinearMinimizationResult FindMinimum(IObjectiveModel objective, Vector<T> initialGuess, Vector<T> lowerBound, Vector<T> upperBound, Vector<T> scales, List<bool> isFixed)

NonlinearMinimizationResult FindMinimum(IObjectiveModel objective, Double[] initialGuess, Double[] lowerBound, Double[] upperBound, Double[] scales, Boolean[] isFixed)

int GetHashCode()

Type GetType()

NonlinearMinimizationResult Minimum(IObjectiveModel objective, Vector<T> initialGuess, Vector<T> lowerBound, Vector<T> upperBound, Vector<T> scales, List<bool> isFixed, double initialMu, double gradientTolerance, double stepTolerance, double functionTolerance, int maximumIterations)

Non-linear least square fitting by the Levenberg-Marduardt algorithm.
Parameters
IObjectiveModel objective

The objective function, including model, observations, and parameter bounds.

Vector<T> initialGuess

The initial guess values.

Vector<T> lowerBound
Vector<T> upperBound
Vector<T> scales
List<bool> isFixed
double initialMu

The initial damping parameter of mu.

double gradientTolerance

The stopping threshold for infinity norm of the gradient vector.

double stepTolerance

The stopping threshold for L2 norm of the change of parameters.

double functionTolerance

The stopping threshold for L2 norm of the residuals.

int maximumIterations

The max iterations.

Return
NonlinearMinimizationResult

The result of the Levenberg-Marquardt minimization

string ToString()

Public Properties

double FunctionTolerance get; set;

double GradientTolerance get; set;

double InitialMu get; set;

The scale factor for initial mu

Vector<T> LowerBound get;

int MaximumIterations get; set;

Vector<T> Scales get;

double StepTolerance get; set;

Vector<T> UpperBound get;