ROOT   Reference Guide
Searching...
No Matches
ROOT::Math::GSLRootFinderDeriv Class Reference

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:

See also those classes for the documentation. See the GSL online manual for information on the GSL Root-Finding algorithms

Definition at line 74 of file GSLRootFinderDeriv.h.

## Public Types

typedef void(* GSLFdFPointer) (double, void *, double *, double *)

typedef double(* GSLFuncPointer) (double, void *)

## Public Member Functions

GSLRootFinderDeriv ()

virtual ~GSLRootFinderDeriv ()

int Iterate ()
iterate (return GSL_SUCCESS in case of successful iteration)

int Iterations () const
Return number of iterations.

const char * Name () const
Return name of root finder algorithm.

double Root () const
Returns the previously calculated root.

bool SetFunction (const IGradFunction &f, double xstart)
Sets the function for algorithms using derivatives.

virtual bool SetFunction (const ROOT::Math::IGenFunction &, double, double)
Sets the function for the rest of the algorithms.

virtual bool SetFunction (const ROOT::Math::IGradFunction &, double)
Sets the function for algorithms using derivatives.

bool SetFunction (GSLFuncPointer f, GSLFuncPointer df, GSLFdFPointer fdf, void *p, double Root)

bool Solve (int maxIter=100, double absTol=1E-8, double relTol=1E-10)
Find the root (return false if failed)

int Status () const
Return the status of last root finding.

Public Member Functions inherited from ROOT::Math::IRootFinderMethod
IRootFinderMethod ()
Default Constructor.

virtual ~IRootFinderMethod ()
Default Destructor.

## Protected Member Functions

void FreeSolver ()

void SetSolver (GSLRootFdFSolver *s)

## Private Member Functions

GSLRootFinderDeriv (const GSLRootFinderDeriv &)

GSLRootFinderDerivoperator= (const GSLRootFinderDeriv &)

## Private Attributes

GSLFunctionDerivWrapperfFunction

int fIter

double fPrevRoot

double fRoot

GSLRootFdFSolverfS

int fStatus

bool fValidPoint

#include <Math/GSLRootFinderDeriv.h>

Inheritance diagram for ROOT::Math::GSLRootFinderDeriv:
[legend]

## ◆ GSLFdFPointer

 typedef void(* ROOT::Math::GSLRootFinderDeriv::GSLFdFPointer) (double, void *, double *, double *)

Definition at line 103 of file GSLRootFinderDeriv.h.

## ◆ GSLFuncPointer

 typedef double(* ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer) (double, void *)

Definition at line 102 of file GSLRootFinderDeriv.h.

## ◆ GSLRootFinderDeriv() [1/2]

 ROOT::Math::GSLRootFinderDeriv::GSLRootFinderDeriv ( )

Definition at line 48 of file GSLRootFinderDeriv.cxx.

## ◆ ~GSLRootFinderDeriv()

 ROOT::Math::GSLRootFinderDeriv::~GSLRootFinderDeriv ( )
virtual

Definition at line 58 of file GSLRootFinderDeriv.cxx.

## ◆ GSLRootFinderDeriv() [2/2]

 ROOT::Math::GSLRootFinderDeriv::GSLRootFinderDeriv ( const GSLRootFinderDeriv & )
private

Definition at line 64 of file GSLRootFinderDeriv.cxx.

## ◆ FreeSolver()

 void ROOT::Math::GSLRootFinderDeriv::FreeSolver ( )
protected

Definition at line 102 of file GSLRootFinderDeriv.cxx.

## ◆ Iterate()

 int ROOT::Math::GSLRootFinderDeriv::Iterate ( )
virtual

iterate (return GSL_SUCCESS in case of successful iteration)

Reimplemented from ROOT::Math::IRootFinderMethod.

Definition at line 107 of file GSLRootFinderDeriv.cxx.

## ◆ Iterations()

 int ROOT::Math::GSLRootFinderDeriv::Iterations ( ) const
inlinevirtual

Return number of iterations.

Reimplemented from ROOT::Math::IRootFinderMethod.

Definition at line 117 of file GSLRootFinderDeriv.h.

## ◆ Name()

 const char * ROOT::Math::GSLRootFinderDeriv::Name ( ) const
virtual

Return name of root finder algorithm.

Implements ROOT::Math::IRootFinderMethod.

Definition at line 132 of file GSLRootFinderDeriv.cxx.

## ◆ operator=()

 GSLRootFinderDeriv & ROOT::Math::GSLRootFinderDeriv::operator= ( const GSLRootFinderDeriv & rhs )
private

Definition at line 68 of file GSLRootFinderDeriv.cxx.

## ◆ Root()

 double ROOT::Math::GSLRootFinderDeriv::Root ( ) const
virtual

Returns the previously calculated root.

Implements ROOT::Math::IRootFinderMethod.

Definition at line 127 of file GSLRootFinderDeriv.cxx.

## ◆ SetFunction() [1/4]

 bool ROOT::Math::GSLRootFinderDeriv::SetFunction ( const IGradFunction & , double )
inlinevirtual

Sets the function for algorithms using derivatives.

Reimplemented from ROOT::Math::IRootFinderMethod.

Definition at line 96 of file GSLRootFinderDeriv.h.

## ◆ SetFunction() [2/4]

 virtual bool ROOT::Math::IRootFinderMethod::SetFunction ( const ROOT::Math::IGenFunction & , double , double )
inlinevirtual

Sets the function for the rest of the algorithms.

The parameters set the interval where the root has to be calculated.

Reimplemented from ROOT::Math::IRootFinderMethod.

Definition at line 53 of file IRootFinderMethod.h.

## ◆ SetFunction() [3/4]

 virtual bool ROOT::Math::IRootFinderMethod::SetFunction ( const ROOT::Math::IGradFunction & , double )
inlinevirtual

Sets the function for algorithms using derivatives.

Reimplemented from ROOT::Math::IRootFinderMethod.

Definition at line 45 of file IRootFinderMethod.h.

## ◆ SetFunction() [4/4]

 bool ROOT::Math::GSLRootFinderDeriv::SetFunction ( GSLFuncPointer f, GSLFuncPointer df, GSLFdFPointer fdf, void * p, double Root )

Definition at line 79 of file GSLRootFinderDeriv.cxx.

## ◆ SetSolver()

 void ROOT::Math::GSLRootFinderDeriv::SetSolver ( GSLRootFdFSolver * s )
protected

Definition at line 97 of file GSLRootFinderDeriv.cxx.

## ◆ Solve()

 bool ROOT::Math::GSLRootFinderDeriv::Solve ( int maxIter = 100, double absTol = 1E-8, double relTol = 1E-10 )
virtual

Find the root (return false if failed)

Implements ROOT::Math::IRootFinderMethod.

Definition at line 137 of file GSLRootFinderDeriv.cxx.

## ◆ Status()

 int ROOT::Math::GSLRootFinderDeriv::Status ( ) const
inlinevirtual

Return the status of last root finding.

Implements ROOT::Math::IRootFinderMethod.

Definition at line 122 of file GSLRootFinderDeriv.h.

## ◆ fFunction

 GSLFunctionDerivWrapper* ROOT::Math::GSLRootFinderDeriv::fFunction
private

Definition at line 134 of file GSLRootFinderDeriv.h.

## ◆ fIter

 int ROOT::Math::GSLRootFinderDeriv::fIter
private

Definition at line 139 of file GSLRootFinderDeriv.h.

## ◆ fPrevRoot

 double ROOT::Math::GSLRootFinderDeriv::fPrevRoot
mutableprivate

Definition at line 138 of file GSLRootFinderDeriv.h.

## ◆ fRoot

 double ROOT::Math::GSLRootFinderDeriv::fRoot
mutableprivate

Definition at line 137 of file GSLRootFinderDeriv.h.

## ◆ fS

 GSLRootFdFSolver* ROOT::Math::GSLRootFinderDeriv::fS
private

Definition at line 135 of file GSLRootFinderDeriv.h.

## ◆ fStatus

 int ROOT::Math::GSLRootFinderDeriv::fStatus
private

Definition at line 140 of file GSLRootFinderDeriv.h.

## ◆ fValidPoint

 bool ROOT::Math::GSLRootFinderDeriv::fValidPoint
private

Definition at line 141 of file GSLRootFinderDeriv.h.

Libraries for ROOT::Math::GSLRootFinderDeriv:

The documentation for this class was generated from the following files: