﻿FunctionMath.FindMaximum Method (Func(Double, Double), Interval, EvaluationSettings)
 FunctionMathFindMaximum Method (FuncDouble, Double, Interval, EvaluationSettings)
Maximizes a function on the given interval, subject to the given evaluation settings.

Namespace:  Meta.Numerics.Analysis
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 3.1.0.0 (3.1.0.0)
Syntax
```public static Extremum FindMaximum(
Func<double, double> f,
Interval r,
EvaluationSettings settings
)```

#### Parameters

f
Type: SystemFuncDouble, Double
The function.
r
Type: Meta.NumericsInterval
The interval.
settings
Type: Meta.Numerics.AnalysisEvaluationSettings
The settings used when searching for the maximum.

#### Return Value

Type: Extremum
The maximum.
Exceptions
ExceptionCondition
ArgumentNullExceptionf is null or settings is null.
NonconvergenceExceptionMore than the maximum allowed number of function evaluations occured without a maximum being determined to the prescribed precision.
Remarks

When you supply settings, note that the supplied RelativePrecision and AbsolutePrecision values refer to argument (i.e. x) values, not function (i.e. f) values. Note also that, for typical functions, the best attainable relative precision is of the order of the square root of machine precision (about 10-7), i.e. half the number of digits in a Double. This is because to identify an extremum we need to resolve changes in the function value, and near an extremum δf ∼ (δx)2, so changes in the function value δf ∼ ε correspond to changes in the argument value δx ∼ √ε. If you supply zero values for both precision settings, the method will adaptively approximate the best attainable precision for the supplied function and locate the extremum to that resolution. This is our suggested practice unless you know that you require a less precise determination.