31#ifndef ROOT_Math_GSLMinimizer1D
32#define ROOT_Math_GSLMinimizer1D
61 class GSL1DMinimizerWrapper;
62 class GSLFunctionWrapper;
107 template <
class UserFunc>
136 double XLower()
const override;
141 double XUpper()
const override;
167 bool Minimize(
int maxIter,
double absTol,
double relTol)
override;
185 const char *
Name()
const override;
194 static int TestInterval(
double xlow,
double xup,
double epsAbs,
double epsRel);
wrapper class for gsl_min_fminimizer structure
static double F(double x, void *p)
Wrapper class to the gsl_function C structure.
double FValMinimum() const override
Return function value at current estimate of the minimum.
const char * Name() const override
Return name of minimization algorithm.
GSLMinimizer1D(GSLMinimizer1D &&)=delete
GSLMinimizer1D(const GSLMinimizer1D &)=delete
int Status() const override
Return status of last minimization.
int Iterate()
Perform a minimizer iteration and if an unexpected problem occurs then an error code will be returned...
GSL1DMinimizerWrapper * fMinimizer
double XLower() const override
Return current lower bound of the minimization interval.
static int TestInterval(double xlow, double xup, double epsAbs, double epsRel)
Test convergence of the interval.
GSLMinimizer1D(Minim1D::Type type=Minim1D::kBRENT)
Construct the minimizer passing the minimizer type using the Minim1D::Algorithm enumeration.
void SetFunction(const UserFunc &f, double xmin, double xlow, double xup)
Set, or reset, minimizer to use the function f and the initial search interval [xlow,...
int Iterations() const override
Return number of iteration used to find minimum.
double XUpper() const override
Return current upper bound of the minimization interval.
GSLMinimizer1D & operator=(const GSLMinimizer1D &)=delete
double FValUpper() const override
Return function value at current upper bound of the minimization interval.
~GSLMinimizer1D() override
Destructor: free allocated resources.
double FValLower() const override
Return function value at current lower bound of the minimization interval.
GSLFunctionWrapper * fFunction
double XMinimum() const override
Return current estimate of the position of the minimum.
bool Minimize(int maxIter, double absTol, double relTol) override
Find minimum position iterating until convergence specified by the absolute and relative tolerance or...
Type
Enumeration with One Dimensional Minimizer Algorithms.
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.