﻿MultiFunctionMath.FindLocalMinimum Method (Func(IList(Double), Double), IList(Double), EvaluationSettings)
 MultiFunctionMathFindLocalMinimum Method (FuncIListDouble, Double, IListDouble, EvaluationSettings)
Finds a local minimum of a multi-dimensional function in the vincinity of the given starting location, subject to the given evaluation constraints.

Namespace:  Meta.Numerics.Analysis
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 3.1.0.0 (3.1.0.0)
Syntax
```public static MultiExtremum FindLocalMinimum(
Func<IList<double>, double> function,
IList<double> start,
EvaluationSettings settings
)```

#### Parameters

function
Type: SystemFuncIListDouble, Double
The multi-dimensional function to minimize.
start
Type: System.Collections.GenericIListDouble
The starting location for the search.
settings
Type: Meta.Numerics.AnalysisEvaluationSettings
The evaluation settings that govern the search for the minimum.

#### Return Value

Type: MultiExtremum
The local minimum.
Exceptions
ExceptionCondition
ArgumentNullExceptionfunction, start, or settings is .
NonconvergenceExceptionThe number of function evaluations required exceeded the evaluation budget.
Remarks

The Hessian (matrix of second derivatives) returned with the minimum is an approximation that is constructed in the course of search. It should be considered a crude approximation, and may not even be that if the minimum is highly non-quadratic.

If you have a constrained minimization problem, require a high-precision solution, and do not have a good initial guess, consider first feeding your constrained problem into FindGlobalMinimum(FuncIListDouble, Double, IListInterval, EvaluationSettings), which supports constraints but gives relatively lower precision solutions, then feeding the result of that method into this method, which finds relatively precise solutions but does not support constraints.