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
| virtual | ~GSLRootFinderDeriv() |
| ROOT::Math::GSLRootFinderDeriv | GSLRootFinderDeriv() |
| ROOT::Math::IRootFinderMethod | ROOT::Math::IRootFinderMethod::IRootFinderMethod() |
| ROOT::Math::IRootFinderMethod | ROOT::Math::IRootFinderMethod::IRootFinderMethod(const ROOT::Math::IRootFinderMethod&) |
| virtual int | Iterate() |
| virtual int | Iterations() const |
| virtual const char* | Name() const |
| virtual double | Root() const |
| virtual bool | SetFunction(const ROOT::Math::IGradFunction& f, double xstart) |
| bool | SetFunction(ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer f, ROOT::Math::GSLRootFinderDeriv::GSLFuncPointer df, ROOT::Math::GSLRootFinderDeriv::GSLFdFPointer fdf, void* p, double Root) |
| virtual bool | Solve(int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10) |
| virtual int | Status() const |
| void | FreeSolver() |
| void | SetSolver(ROOT::Math::GSLRootFdFSolver* s) |
| ROOT::Math::GSLRootFinderDeriv | GSLRootFinderDeriv(const ROOT::Math::GSLRootFinderDeriv&) |
| ROOT::Math::GSLRootFinderDeriv& | operator=(const ROOT::Math::GSLRootFinderDeriv&) |

usually copying is non trivial, so we make this unaccessible
Find the root (return false if failed)