27#ifndef ROOT_Math_MultiNumGradFunction
28#define ROOT_Math_MultiNumGradFunction
69 template<
class FuncType>
124 double DoDerivative (
const double *
x,
unsigned int icoord )
const;
Documentation for the abstract class IBaseFunctionMultiDim.
virtual IBaseFunctionMultiDimTempl< T > * Clone() const =0
Clone a function.
Interface (abstract class) for multi-dimensional functions providing a gradient calculation.
MultiNumGradFunction class to wrap a normal function in a gradient function using numerical gradient ...
double DoEval(const double *x) const
const IMultiGenFunction * fFunc
double DoDerivative(const double *x, unsigned int icoord) const
MultiNumGradFunction(const IMultiGenFunction &f)
Constructor from a IMultiGenFunction interface.
unsigned int NCalls() const
static void SetDerivPrecision(double eps)
precision value used for calculating the derivative step-size h = eps * |x|.
static double GetDerivPrecision()
get precision value used for calculating the derivative step-size
~MultiNumGradFunction()
Destructor (no operations)
IMultiGenFunction * Clone() const
Clone a function.
MultiNumGradFunction(FuncType f, int n)
Constructor from a generic function (pointer or reference) and number of dimension implementiong oper...
unsigned int NDim() const
Retrieve the dimension of the function.
void SetOwnership(bool on=true)
Template class to wrap any C++ callable object implementing operator() (const double * x) in a multi-...
Namespace for new Math classes and functions.