35 #ifndef ROOT_Math_Error
48 fLogScan(
false), fNIter(0),
50 fXMin(0), fXMax(0), fXMinimum(0)
98 MATH_ERROR_MSG(
"BrentMinimizer1D::Minimize",
"Function has not been set");
103 MATH_ERROR_MSG(
"BrentMinimizer1D::Minimize",
"xmin is < 0 and log scan is set - disable it");
114 int maxIter2 = maxIter;
120 if (niter1 > maxIter1){
121 MATH_ERROR_MSG(
"BrentMinimizer1D::Minimize",
"Search didn't converge");
126 x =
BrentMethods::MinimBrent(
fFunction, 0, xmin, xmax, x, 0, ok, niter2, absTol, relTol, maxIter2 );
138 {
return "BrentMinimizer1D"; }
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
double MinimStep(const IGenFunction *f, int type, double &xmin, double &xmax, double fy, int npx=100, bool useLog=false)
Grid search implementation, used to bracket the minimum and later use Brent's method with the bracket...
virtual double FValUpper() const
Return function value at current upper bound of the minimization interval.
double MinimBrent(const IGenFunction *f, int type, double &xmin, double &xmax, double xmiddle, double fy, bool &ok, int &niter, double epsabs=1.E-8, double epsrel=1.E-10, int maxiter=100)
Finds a minimum of a function, if the function is unimodal between xmin and xmax This method uses a c...
static int gDefaultNSearch
static void SetDefaultNSearch(int n)
set number of times the bracketing search in combination with is done to find a good interval Default...
ClassImp(TIterator) Bool_t TIterator return false
Compare two iterator objects.
const IGenFunction * fFunction
#define MATH_ERROR_MSG(loc, str)
virtual double FValLower() const
Return function value at current lower bound of the minimization interval.
virtual const char * Name() const
Return name of minimization algorithm ("BrentMinimizer1D")
void SetFunction(const ROOT::Math::IGenFunction &f, double xlow, double xup)
Sets function to be minimized.
Interface class for numerical methods for one-dimensional minimization.
static void SetDefaultNpx(int npx)
set number of default Npx used at construction time (when SetNpx is not called) Default value is 100 ...
virtual double FValMinimum() const
Return function value at current estimate of the minimum.
virtual bool Minimize(int maxIter, double absTol=1.E-8, double relTol=1.E-10)
Find minimum position iterating until convergence specified by the absolute and relative tolerance or...
BrentMinimizer1D()
Default Constructor.