GradFunctor1D class for one-dimensional gradient functions.
It is used to wrap in a very C++ callable object to make a 1D gradient functions. It can be constructed in three different way:
-
from an object implementing both double operator()( double ) for the function evaluation and double Derivative(double ) for the partial derivatives
-
from an object implementing any member function like Foo::XXX(double ) for the function evaluation and any other member function like Foo::YYY(double ) for the derivative.
-
from an 2 function objects implementing double operator()( double ) . One object provides the function evaluation, the other the derivative.
Definition at line 269 of file Functor.h.
|
| | GradFunctor1D ()=default |
| | Default constructor.
|
| |
| template<typename Func > |
| | GradFunctor1D (const Func &f) |
| | Construct from an object with the right signature, implementing both operator() (double x) and Derivative(double x).
|
| |
| template<class PtrObj , typename MemFn , typename GradMemFn > |
| | GradFunctor1D (const PtrObj &p, MemFn memFn, GradMemFn gradFn) |
| | construct from a pointer to class and two pointers to member functions, one for the function evaluation and the other for the derivative.
|
| |
| | GradFunctor1D (std::function< double(double)> const &f, std::function< double(double)> const &g) |
| | Specialized constructor from 2 function objects implementing double operator()(double x).
|
| |
| GradFunctor1D * | Clone () const override |
| | Clone a function.
|
| |
| double | Derivative (const double *x) const |
| | Compatibility method with multi-dimensional interface for partial derivative.
|
| |
| double | Derivative (double x) const |
| | Return the derivative of the function at a point x Use the private method DoDerivative.
|
| |
| void | FdF (const double *x, double &f, double *df) const |
| | Compatibility method with multi-dimensional interface for Gradient and function evaluation.
|
| |
| virtual void | FdF (double x, double &f, double &df) const |
| | Optimized method to evaluate at the same time the function value and derivative at a point x.
|
| |
| void | Gradient (const double *x, double *g) const |
| | Compatibility method with multi-dimensional interface for Gradient.
|
| |
| bool | HasGradient () const override |
| |
| virtual | ~IBaseFunctionOneDim ()=default |
| |
| double | operator() (const double *x) const |
| | Evaluate the function at a point x[].
|
| |
| double | operator() (double x) const |
| | Evaluate the function at a point x.
|
| |
template<class PtrObj , typename MemFn , typename GradMemFn >
| ROOT::Math::GradFunctor1D::GradFunctor1D |
( |
const PtrObj & |
p, |
|
|
MemFn |
memFn, |
|
|
GradMemFn |
gradFn |
|
) |
| |
|
inline |
construct from a pointer to class and two pointers to member functions, one for the function evaluation and the other for the derivative.
The member functions must take a double as argument and return a double
Definition at line 287 of file Functor.h.