27#ifndef ROOT_Math_MultiNumGradFunction
28#define ROOT_Math_MultiNumGradFunction
69 template<
class FuncType>
89 unsigned int NDim()
const override {
return fDim; }
118 double DoEval(
const double *
x)
const override {
124 double DoDerivative (
const double *
x,
unsigned int icoord )
const override;
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
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 ...
~MultiNumGradFunction() override
Destructor (no operations)
const IMultiGenFunction * fFunc
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|.
unsigned int NDim() const override
Retrieve the dimension of the function.
static double GetDerivPrecision()
get precision value used for calculating the derivative step-size
IMultiGenFunction * Clone() const override
Clone a function.
MultiNumGradFunction(FuncType f, int n)
Constructor from a generic function (pointer or reference) and number of dimension implementing opera...
double DoDerivative(const double *x, unsigned int icoord) const override
double DoEval(const double *x) const override
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...