Click or drag to resize

BrentMinimizer Class

Class BrentMinimizer uses Brent's Method to minimize a function within an interval known to contain a minimum.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreMinimizerBase
    CenterSpace.NMath.CoreBrentMinimizer

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class BrentMinimizer : MinimizerBase, 
	IOneVariableMinimizer, ICloneable

The BrentMinimizer type exposes the following members.

Constructors
 NameDescription
Public methodBrentMinimizer Default constructor.
Public methodBrentMinimizer(Double) Constructs a BrentMinimizer instance with the given error tolerance.
Public methodBrentMinimizer(Int32) Constructs a BrentMinimizer instance with the given maximum number of iterations.
Public methodBrentMinimizer(Double, Int32) Constructs a BrentMinimizer instance with the given error tolerance and maximum number of iterations.
Top
Properties
 NameDescription
Public propertyError Gets the error associated with the mimimum just computed.
(Inherited from MinimizerBase)
Public propertyIterations Gets the number of iterations used in the estimate of the mimimum just computed.
(Inherited from MinimizerBase)
Public propertyMaxIterations Gets and sets the maximum number of iterations used in computing minima estimates.
(Inherited from MinimizerBase)
Public propertyMaxIterationsMet Returns true if the minimum just computed stopped because the maximum number of iterations was reached; otherwise, false.
(Inherited from MinimizerBase)
Public propertyTolerance Gets and sets the error tolerance used in computing minima estimates.
(Inherited from MinimizerBase)
Public propertyToleranceMet Returns true if the minimum just computed stopped because the error tolerance was reached; otherwise, false.
(Inherited from MinimizerBase)
Top
Methods
 NameDescription
Public methodClone Creates a deep copy of self.
(Overrides MinimizerBaseClone)
Public methodMinimize(Bracket) Minimizes the function within the interval contained in the given Bracket.
Public methodMinimize(OneVariableFunction, Interval) Minimizes the given function within the given interval.
Public methodMinimize(OneVariableFunction, Double, Double) Minimizes the given function within the given interval.
Public methodMinimize(OneVariableFunction, Double, Double, Double) Minimizes the given function within the given interval.
Top
Fields
 NameDescription
Protected fielderror_The current error.
(Inherited from MinimizerBase)
Protected fielditer_The current number of iterations performed.
(Inherited from MinimizerBase)
Protected fieldmax_The maximum number of iterations.
(Inherited from MinimizerBase)
Protected fieldtolerance_The error tolerance.
(Inherited from MinimizerBase)
Top
Remarks
Brent's Method combines golden section search (see class GoldenMinimizer) with parabolic interpolation. Parabolic interpolation fits a parabola through the current set of points, then uses the parabola to estimate the function's minimum. Iteration stops when either the estimated error is less than a specified error tolerance, or a specified maximum number of iterations is reached.
The faster parabolic interpolation is used wherever possible, but in steps where the projected minimum falls outside the interval, or when successive steps are becoming larger, Brent's Method resorts back to the slower golden section search. Brent's Method is quadratically convergent, rather than linearly convergent like the golden section search.
See Also