 ROOT   Reference Guide
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>

## ◆ 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.

## ◆ 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.

## ◆ 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