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

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