ROOT » MATH » MATHMORE » ROOT::Math::GSLRootFinder

class ROOT::Math::GSLRootFinder: public ROOT::Math::IRootFinderMethod


     Base class for GSL Root-Finding algorithms for one dimensional functions which do not use function derivatives.
     For finding the roots users should not use this class directly but instantiate the derived classes,
     for example  ROOT::Math::Roots::Brent for using the Brent algorithm.
     All the classes defining the alhorithms are defined in the header Math/RootFinderAlgorithm.h
     They possible types implementing root bracketing algorithms which they do not require function
     derivatives are:
     <ul>
         <li>ROOT::Math::Roots::Bisection
         <li>ROOT::Math::Roots::FalsePos
         <li>ROOT::Math::Roots::Brent
     </ul>

     See also the specific  classes for the documentation.
     See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Bracketing-Algorithms.html"> online manual</A> for
     information on the GSL Root-Finding algorithms

     @ingroup RootFinders

Function Members (Methods)

public:
virtual~GSLRootFinder()
ROOT::Math::GSLRootFinderGSLRootFinder()
ROOT::Math::IRootFinderMethodROOT::Math::IRootFinderMethod::IRootFinderMethod()
ROOT::Math::IRootFinderMethodROOT::Math::IRootFinderMethod::IRootFinderMethod(const ROOT::Math::IRootFinderMethod&)
virtual intIterate()
virtual intIterations() const
virtual const char*Name() const
virtual doubleRoot() const
virtual boolSetFunction(const ROOT::Math::IGenFunction& f, double xlow, double xup)
boolSetFunction(ROOT::Math::GSLRootFinder::GSLFuncPointer f, void* params, double xlow, double xup)
virtual boolSolve(int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10)
virtual intStatus() const
protected:
voidFreeSolver()
voidSetSolver(ROOT::Math::GSLRootFSolver* s)

Data Members

private:
ROOT::Math::GSLFunctionWrapper*fFunction
intfIter
doublefRoot
ROOT::Math::GSLRootFSolver*fS
intfStatus
boolfValidInterval
doublefXlow
doublefXup

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

GSLRootFinder()
virtual ~GSLRootFinder()
GSLRootFinder(const ROOT::Math::GSLRootFinder& )
 usually copying is non trivial, so we make this unaccessible
bool SetFunction( const IGradFunction & , double )
bool SetFunction(const ROOT::Math::IGenFunction& f, double xlow, double xup)
int Iterate()
 iterate to find ROOTS return GSL_CONTINUE if iteration was successful or another error
double Root() const
bool Solve(int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10)
double XLower() const;
double XUpper() const;
 Find the root
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::GSLRootFSolver* s)
void FreeSolver()