Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::GSLDerivator Class Reference

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.
 

#include </home/sftnight/build/workspace/root-makedoc-master/rootspi/rdoc/src/master/math/mathmore/src/GSLDerivator.h>

Constructor & Destructor Documentation

◆ GSLDerivator()

ROOT::Math::GSLDerivator::GSLDerivator ( )
inline

Default Constructor of a GSLDerivator class based on GSL numerical differentiation algorithms.

Definition at line 68 of file GSLDerivator.h.

◆ ~GSLDerivator()

virtual ROOT::Math::GSLDerivator::~GSLDerivator ( )
inlinevirtual

destructor (no operations)

Definition at line 71 of file GSLDerivator.h.

Member Function Documentation

◆ Error()

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.

◆ EvalBackward() [1/2]

double ROOT::Math::GSLDerivator::EvalBackward ( const IGenFunction f,
double  x,
double  h 
)
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.

◆ EvalBackward() [2/2]

double ROOT::Math::GSLDerivator::EvalBackward ( double  x,
double  h 
)

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.

◆ EvalCentral() [1/2]

double ROOT::Math::GSLDerivator::EvalCentral ( const IGenFunction f,
double  x,
double  h 
)
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.

◆ EvalCentral() [2/2]

double ROOT::Math::GSLDerivator::EvalCentral ( double  x,
double  h 
)

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.

◆ EvalForward() [1/2]

double ROOT::Math::GSLDerivator::EvalForward ( const IGenFunction f,
double  x,
double  h 
)
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.

◆ EvalForward() [2/2]

double ROOT::Math::GSLDerivator::EvalForward ( double  x,
double  h 
)

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.

◆ Result()

double ROOT::Math::GSLDerivator::Result ( ) const

return the result of the last derivative calculation

Definition at line 109 of file GSLDerivator.cxx.

◆ SetFunction() [1/2]

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.

◆ SetFunction() [2/2]

void ROOT::Math::GSLDerivator::SetFunction ( GSLFuncPointer  f,
void *  p = nullptr 
)

Set the function f for evaluating the derivative using a GSL function pointer type.

Parameters
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.

◆ Status()

int ROOT::Math::GSLDerivator::Status ( ) const

return the error status of the last integral calculation

Definition at line 113 of file GSLDerivator.cxx.

Member Data Documentation

◆ fError

double ROOT::Math::GSLDerivator::fError
private

Definition at line 163 of file GSLDerivator.h.

◆ fFunction

GSLFunctionWrapper ROOT::Math::GSLDerivator::fFunction
private

Definition at line 165 of file GSLDerivator.h.

◆ fResult

double ROOT::Math::GSLDerivator::fResult
private

Definition at line 162 of file GSLDerivator.h.

◆ fStatus

int ROOT::Math::GSLDerivator::fStatus
private

Definition at line 161 of file GSLDerivator.h.

  • math/mathmore/src/GSLDerivator.h
  • math/mathmore/src/GSLDerivator.cxx