Secant algorithm, simplified version of Newton method, which does not require the derivative at every step.
See the GSL manual for more information
Definition at line 130 of file RootFinderAlgorithms.h.
Public Types | |
| typedef void(* | GSLFdFPointer) (double, void *, double *, double *) |
| typedef double(* | GSLFuncPointer) (double, void *) |
Public Member Functions | |
| Secant () | |
| ~Secant () override | |
| int | Iterate () override |
| iterate (return GSL_SUCCESS in case of successful iteration) | |
| int | Iterations () const override |
| Return number of iterations. | |
| const char * | Name () const override |
| Return name of root finder algorithm. | |
| double | Root () const override |
| Returns the previously calculated root. | |
| bool | SetFunction (const IGradFunction &f, double xstart) override |
| 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. | |
| 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) override |
| Find the root (return false if failed). | |
| int | Status () const override |
| Return the status of last root finding. | |
Protected Member Functions | |
| void | FreeSolver () |
| void | SetSolver (GSLRootFdFSolver *s) |
Private Attributes | |
| GSLFunctionDerivWrapper * | fFunction |
| int | fIter |
| double | fPrevRoot |
| double | fRoot |
| GSLRootFdFSolver * | fS |
| int | fStatus |
| bool | fValidPoint |
#include <Math/RootFinderAlgorithms.h>
|
inherited |
Definition at line 100 of file GSLRootFinderDeriv.h.
Definition at line 99 of file GSLRootFinderDeriv.h.
| ROOT::Math::Roots::Secant::Secant | ( | ) |
Definition at line 111 of file RootFinderAlgorithms.cxx.
|
override |
Definition at line 118 of file RootFinderAlgorithms.cxx.
|
protectedinherited |
Definition at line 88 of file GSLRootFinderDeriv.cxx.
|
overridevirtualinherited |
iterate (return GSL_SUCCESS in case of successful iteration)
Reimplemented from ROOT::Math::IRootFinderMethod.
Definition at line 93 of file GSLRootFinderDeriv.cxx.
|
inlineoverridevirtualinherited |
Return number of iterations.
Reimplemented from ROOT::Math::IRootFinderMethod.
Definition at line 114 of file GSLRootFinderDeriv.h.
|
overridevirtualinherited |
Return name of root finder algorithm.
Implements ROOT::Math::IRootFinderMethod.
Definition at line 118 of file GSLRootFinderDeriv.cxx.
|
overridevirtualinherited |
Returns the previously calculated root.
Implements ROOT::Math::IRootFinderMethod.
Definition at line 113 of file GSLRootFinderDeriv.cxx.
|
inlineoverridevirtualinherited |
Sets the function for algorithms using derivatives.
Reimplemented from ROOT::Math::IRootFinderMethod.
Definition at line 93 of file GSLRootFinderDeriv.h.
|
inlinevirtualinherited |
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.
|
inherited |
Definition at line 65 of file GSLRootFinderDeriv.cxx.
|
protectedinherited |
Definition at line 83 of file GSLRootFinderDeriv.cxx.
|
overridevirtualinherited |
Find the root (return false if failed).
Implements ROOT::Math::IRootFinderMethod.
Definition at line 123 of file GSLRootFinderDeriv.cxx.
|
inlineoverridevirtualinherited |
Return the status of last root finding.
Implements ROOT::Math::IRootFinderMethod.
Definition at line 119 of file GSLRootFinderDeriv.h.
|
privateinherited |
Definition at line 131 of file GSLRootFinderDeriv.h.
|
privateinherited |
Definition at line 136 of file GSLRootFinderDeriv.h.
|
mutableprivateinherited |
Definition at line 135 of file GSLRootFinderDeriv.h.
|
mutableprivateinherited |
Definition at line 134 of file GSLRootFinderDeriv.h.
|
privateinherited |
Definition at line 132 of file GSLRootFinderDeriv.h.
|
privateinherited |
Definition at line 137 of file GSLRootFinderDeriv.h.
|
privateinherited |
Definition at line 138 of file GSLRootFinderDeriv.h.