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 derived classes,
      for example  ROOT::Math::Roots::Newton for using the Newton algorithm.
      All the classes defining the alhorithms are defined in the header Math/RootFinderAlgorithm.h
      They possible types implementing root bracketing algorithms which use function
      derivatives are:
      <ul>
         <li>ROOT::Math::Roots::Newton
         <li>ROOT::Math::Roots::Secant
         <li>ROOT::Math::Roots::Steffenson
     </ul>

      See also those classes  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 boolSetFunction(const ROOT::Math::IGradFunction& f, double xstart)
virtual boolSetFunction(const ROOT::Math::IGenFunction&, double, double)
boolSetFunction(ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer f, ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer df, ROOT::Math::GSLRootFinderDeriv::GSLFdFPointer fdf, void* p, double Root)
virtual boolSolve(int maxIter = 100, double absTol = 1E-8, double relTol = 1E-10)
virtual intStatus() const
protected:
voidFreeSolver()
voidSetSolver(ROOT::Math::GSLRootFdFSolver* s)

Data Members

private:
ROOT::Math::GSLFunctionDerivWrapper*fFunction
intfIter
doublefPrevRoot
doublefRoot
ROOT::Math::GSLRootFdFSolver*fS
intfStatus
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
bool SetFunction(const ROOT::Math::IGenFunction& , double , double )
bool 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()
 iterate (return GSL_SUCCESS in case of successful iteration)
double Root() const
bool Solve(int maxIter = 100, double absTol = 1E-8, double relTol = 1E-10)
 Find the root (return false if failed)
int Iterations() const
 Return number of iterations
int Status() const
 Return the status of last root finding
{ return fStatus; }
const char * Name() const
void SetSolver(ROOT::Math::GSLRootFdFSolver* s)
void FreeSolver()