MultiNumGradFunction class to wrap a normal function in a gradient function using numerical gradient calculation provided by the class Derivator (based on GSL numerical derivation)
Definition at line 49 of file MultiNumGradFunction.h.
Public Member Functions | |
| MultiNumGradFunction (const IMultiGenFunction &f) | |
| Constructor from a IMultiGenFunction interface.   | |
| template<class FuncType > | |
| MultiNumGradFunction (FuncType f, int n) | |
| Constructor from a generic function (pointer or reference) and number of dimension implementing operator () (double * x)   | |
| ~MultiNumGradFunction () override | |
| Destructor (no operations)   | |
| IMultiGenFunction * | Clone () const override | 
| Clone a function.   | |
| unsigned int | NCalls () const | 
| unsigned int | NDim () const override | 
| Retrieve the dimension of the function.   | |
| void | SetOwnership (bool on=true) | 
  Public Member Functions inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T > | |
| T | Derivative (const T *x, unsigned int icoord, T *previous_grad, T *previous_g2, T *previous_gstep) const | 
| In some cases, the derivative algorithm will use information from the previous step, these can be passed in with this overload.   | |
| T | Derivative (const T *x, unsigned int icoord=0) const | 
| Return the partial derivative with respect to the passed coordinate.   | |
| virtual void | FdF (const T *x, T &f, T *df) const | 
| Optimized method to evaluate at the same time the function value and derivative at a point x.   | |
| virtual void | Gradient (const T *x, T *grad) const | 
| Evaluate all the vector of function derivatives (gradient) at a point x.   | |
| virtual void | GradientWithPrevResult (const T *x, T *grad, T *previous_grad, T *previous_g2, T *previous_gstep) const | 
| In some cases, the gradient algorithm will use information from the previous step, these can be passed in with this overload.   | |
| bool | HasGradient () const | 
| virtual bool | returnsInMinuit2ParameterSpace () const | 
  Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T > | |
| virtual | ~IBaseFunctionMultiDimTempl ()=default | 
| T | operator() (const T *x) const | 
| Evaluate the function at a point x[].   | |
Static Public Member Functions | |
| static double | GetDerivPrecision () | 
| get precision value used for calculating the derivative step-size   | |
| static void | SetDerivPrecision (double eps) | 
| precision value used for calculating the derivative step-size h = eps * |x|.   | |
Private Member Functions | |
| double | DoDerivative (const double *x, unsigned int icoord) const override | 
| double | DoEval (const double *x) const override | 
Private Attributes | |
| unsigned int | fDim | 
| const IMultiGenFunction * | fFunc | 
| unsigned int | fNCalls | 
| bool | fOwner | 
Static Private Attributes | |
| static double | fgEps = 0.001 | 
Additional Inherited Members | |
  Public Types inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T > | |
| typedef IBaseFunctionMultiDimTempl< T > | BaseFunc | 
| typedef IGradientFunctionMultiDimTempl< T > | BaseGrad | 
  Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T > | |
| typedef T | BackendType | 
| typedef IBaseFunctionMultiDimTempl< T > | BaseFunc | 
#include <Math/MultiNumGradFunction.h>
      
  | 
  inline | 
Constructor from a IMultiGenFunction interface.
Definition at line 57 of file MultiNumGradFunction.h.
Constructor from a generic function (pointer or reference) and number of dimension implementing operator () (double * x)
Definition at line 70 of file MultiNumGradFunction.h.
      
  | 
  inlineoverride | 
Destructor (no operations)
Definition at line 82 of file MultiNumGradFunction.h.
      
  | 
  inlineoverridevirtual | 
Clone a function.
Each derived class must implement their version of the Clone method.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.
Definition at line 93 of file MultiNumGradFunction.h.
      
  | 
  overrideprivate | 
Definition at line 42 of file MultiNumGradFunction.cxx.
Definition at line 118 of file MultiNumGradFunction.h.
      
  | 
  static | 
get precision value used for calculating the derivative step-size
Definition at line 56 of file MultiNumGradFunction.cxx.
      
  | 
  inline | 
Definition at line 91 of file MultiNumGradFunction.h.
      
  | 
  inlineoverridevirtual | 
Retrieve the dimension of the function.
Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 89 of file MultiNumGradFunction.h.
      
  | 
  static | 
precision value used for calculating the derivative step-size h = eps * |x|.
The default is 0.001, give a smaller in case function chanes rapidly
Definition at line 54 of file MultiNumGradFunction.cxx.
Definition at line 105 of file MultiNumGradFunction.h.
      
  | 
  private | 
Definition at line 128 of file MultiNumGradFunction.h.
      
  | 
  private | 
Definition at line 127 of file MultiNumGradFunction.h.
      
  | 
  staticprivate | 
Definition at line 132 of file MultiNumGradFunction.h.
      
  | 
  mutableprivate | 
Definition at line 129 of file MultiNumGradFunction.h.
      
  | 
  private | 
Definition at line 130 of file MultiNumGradFunction.h.