Click or drag to resize

MultiFunctionMathFindLocalMinimum Method (FuncIReadOnlyListDouble, Double, IReadOnlyListDouble, MultiExtremumSettings)

Finds a local minimum of a multi-dimensional function in the vicinity of the given starting location, subject to the given evaluation constraints.

Namespace:  Meta.Numerics.Analysis
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 4.1.4
Syntax
public static MultiExtremum FindLocalMinimum(
	Func<IReadOnlyList<double>, double> function,
	IReadOnlyList<double> start,
	MultiExtremumSettings settings
)

Parameters

function
Type: SystemFuncIReadOnlyListDouble, Double
The multi-dimensional function to minimize.
start
Type: System.Collections.GenericIReadOnlyListDouble
The starting location for the search.
settings
Type: Meta.Numerics.AnalysisMultiExtremumSettings
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(FuncIReadOnlyListDouble, Double, IReadOnlyListInterval, MultiExtremumSettings), 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.

See Also