ROOT logo
ROOT » MATH » MATHMORE » ROOT::Math::GSLRootFinderDeriv

class ROOT::Math::GSLRootFinderDeriv: public ROOT::Math::IRootFinderMethod


      Base class for GSL Root-Finding algorithms for one dimensional functions which use function derivatives.
      For finding the roots users should not use this class directly but instantiate the template
      ROOT::Math::RootFinder class with the corresponding algorithms.
      For example the ROOT::Math::RootFinder<ROOT::Math::Roots::Newton> for using the Newton algorithm.
      See that class also for the documentation.
      See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Finding-Algorithms-using-Derivatives.html"> online manual</A> for
      information on the GSL Root-Finding algorithms

      @ingroup RootFinders

Function Members (Methods)

public:
virtual~GSLRootFinderDeriv()
ROOT::Math::GSLRootFinderDerivGSLRootFinderDeriv()
virtual intIterate()
virtual intIterations() const
virtual const char*Name() const
virtual doubleRoot() const
virtual intSetFunction(const ROOT::Math::IGradFunction& f, double xstart)
virtual intSetFunction(const ROOT::Math::IGenFunction&, double, double)
intSetFunction(ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer f, ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer df, ROOT::Math::GSLRootFinderDeriv::GSLFdFPointer fdf, void* p, double Root)
virtual intSolve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6)
protected:
voidFreeSolver()
voidSetSolver(ROOT::Math::GSLRootFdFSolver* s)

Data Members

private:
ROOT::Math::GSLFunctionDerivWrapper*fFunction
intfIter
doublefPrevRoot
doublefRoot
ROOT::Math::GSLRootFdFSolver*fS
boolfValidPoint

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

GSLRootFinderDeriv()
virtual ~GSLRootFinderDeriv()
GSLRootFinderDeriv(const ROOT::Math::GSLRootFinderDeriv& )
 usually copying is non trivial, so we make this unaccessible
int SetFunction(const ROOT::Math::IGenFunction& , double , double )
int SetFunction(const ROOT::Math::IGradFunction& f, double xstart)
return SetFunction(ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer f, ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer df, ROOT::Math::GSLRootFinderDeriv::GSLFdFPointer fdf, void* p, double Root)
int Iterate()
double Root() const
int Solve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6)
 Solve for roots
int Iterations() const
const char * Name() const
void SetSolver(ROOT::Math::GSLRootFdFSolver* s)
void FreeSolver()