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
public static MultiExtremum FindLocalMinimum(
	Func<IReadOnlyList<double>, double> function,
	IReadOnlyList<double> start,
	MultiExtremumSettings settings


Type: SystemFuncIReadOnlyListDouble, Double
The multi-dimensional function to minimize.
Type: System.Collections.GenericIReadOnlyListDouble
The starting location for the search.
Type: Meta.Numerics.AnalysisMultiExtremumSettings
The evaluation settings that govern the search for the minimum.

Return Value

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

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