31#ifndef ROOT_Math_GSL_RootFinderDeriv
32#define ROOT_Math_GSL_RootFinderDeriv
48 class GSLRootFdFSolver;
49 class GSLFunctionDerivWrapper;
89#if defined(__MAKECINT__) || defined(G__DICTIONARY)
91 std::cerr <<
"GSLRootFinderDeriv - Error : Algorithm requirs derivatives" << std::endl;
111 double Root()
const override;
114 bool Solve(
int maxIter = 100,
double absTol = 1E-8,
double relTol = 1E-10)
override;
124 const char *
Name()
const override;
winID h TVirtualViewer3D TVirtualGLPainter p
Class for adapting any C++ functor class to C function pointers used by GSL.
class to wrap a gsl_function_fdf (with derivatives)
Root-Finder with derivatives implementation class using GSL.
Base class for GSL Root-Finding algorithms for one dimensional functions which use function derivativ...
GSLFunctionDerivWrapper * fFunction
int Iterations() const override
Return number of iterations.
const char * Name() const override
Return name of root finder algorithm.
int Status() const override
Return the status of last root finding.
int Iterate() override
iterate (return GSL_SUCCESS in case of successful iteration)
double Root() const override
Returns the previously calculated root.
bool Solve(int maxIter=100, double absTol=1E-8, double relTol=1E-10) override
Find the root (return false if failed)
~GSLRootFinderDeriv() override
bool SetFunction(const IGradFunction &f, double xstart) override
Sets the function for algorithms using derivatives.
GSLRootFinderDeriv & operator=(const GSLRootFinderDeriv &)
void SetSolver(GSLRootFdFSolver *s)
double(* GSLFuncPointer)(double, void *)
void(* GSLFdFPointer)(double, void *, double *, double *)
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Interface (abstract class) for one-dimensional functions providing a gradient calculation.
Interface for finding function roots of one-dimensional functions.
virtual bool SetFunction(const ROOT::Math::IGradFunction &, double)
Sets the function for algorithms using derivatives.
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...