Class for computing numerical derivative of a function based on the GSL numerical algorithm This class is implemented using the numerical derivatives algorithms provided by GSL (see GSL Online Manual ).
Definition at line 62 of file GSLDerivator.h.
Public Member Functions | |
GSLDerivator () | |
Default Constructor of a GSLDerivator class based on GSL numerical differentiation algorithms. | |
virtual | ~GSLDerivator () |
destructor (no operations) | |
double | EvalBackward (double x, double h) |
Computes the numerical derivative at a point x using an adaptive backward difference algorithm with a step size h. | |
double | EvalCentral (double x, double h) |
Computes the numerical derivative at a point x using an adaptive central difference algorithm with a step size h. | |
double | EvalForward (double x, double h) |
Computes the numerical derivative at a point x using an adaptive forward difference algorithm with a step size h. | |
void | SetFunction (const IGenFunction &f) |
Set the function for calculating the derivatives. | |
void | SetFunction (GSLFuncPointer f, void *p=nullptr) |
Set the function f for evaluating the derivative using a GSL function pointer type. | |
— Static methods — | |
int | fStatus |
double | fResult |
double | fError |
GSLFunctionWrapper | fFunction |
int | Status () const |
return the error status of the last integral calculation | |
double | Result () const |
return the result of the last derivative calculation | |
double | Error () const |
return the estimate of the absolute error of the last derivative calculation | |
static double | EvalCentral (const IGenFunction &f, double x, double h) |
Computes the numerical derivative of a function f at a point x using an adaptive central difference algorithm with a step size h. | |
static double | EvalForward (const IGenFunction &f, double x, double h) |
Computes the numerical derivative of a function f at a point x using an adaptive forward difference algorithm with a step size h. | |
static double | EvalBackward (const IGenFunction &f, double x, double h) |
Computes the numerical derivative of a function f at a point x using an adaptive backward difference algorithm with a step size h. | |
|
inline |
Default Constructor of a GSLDerivator class based on GSL numerical differentiation algorithms.
Definition at line 68 of file GSLDerivator.h.
|
inlinevirtual |
destructor (no operations)
Definition at line 71 of file GSLDerivator.h.
double ROOT::Math::GSLDerivator::Error | ( | ) | const |
return the estimate of the absolute error of the last derivative calculation
Definition at line 111 of file GSLDerivator.cxx.
|
static |
Computes the numerical derivative of a function f at a point x using an adaptive backward difference algorithm with a step size h.
The function is evaluated only at points less than x and at x itself
Definition at line 99 of file GSLDerivator.cxx.
Computes the numerical derivative at a point x using an adaptive backward difference algorithm with a step size h.
The function is evaluated only at points less than x and at x itself.
Definition at line 69 of file GSLDerivator.cxx.
|
static |
Computes the numerical derivative of a function f at a point x using an adaptive central difference algorithm with a step size h.
Definition at line 81 of file GSLDerivator.cxx.
Computes the numerical derivative at a point x using an adaptive central difference algorithm with a step size h.
Definition at line 47 of file GSLDerivator.cxx.
|
static |
Computes the numerical derivative of a function f at a point x using an adaptive forward difference algorithm with a step size h.
The function is evaluated only at points greater than x and at x itself
Definition at line 90 of file GSLDerivator.cxx.
Computes the numerical derivative at a point x using an adaptive forward difference algorithm with a step size h.
The function is evaluated only at points greater than x and at x itself.
Definition at line 58 of file GSLDerivator.cxx.
double ROOT::Math::GSLDerivator::Result | ( | ) | const |
return the result of the last derivative calculation
Definition at line 109 of file GSLDerivator.cxx.
void ROOT::Math::GSLDerivator::SetFunction | ( | const IGenFunction & | f | ) |
Set the function for calculating the derivatives.
The function must implement the ROOT::Math::IGenFunction signature
Definition at line 123 of file GSLDerivator.cxx.
void ROOT::Math::GSLDerivator::SetFunction | ( | GSLFuncPointer | f, |
void * | p = nullptr |
||
) |
Set the function f for evaluating the derivative using a GSL function pointer type.
f | : free function pointer of the GSL required type |
p | : pointer to the object carrying the function state (for example the function object itself) |
Definition at line 117 of file GSLDerivator.cxx.
int ROOT::Math::GSLDerivator::Status | ( | ) | const |
return the error status of the last integral calculation
Definition at line 113 of file GSLDerivator.cxx.
|
private |
Definition at line 163 of file GSLDerivator.h.
|
private |
Definition at line 165 of file GSLDerivator.h.
|
private |
Definition at line 162 of file GSLDerivator.h.
|
private |
Definition at line 161 of file GSLDerivator.h.