10#ifndef ROOT_Minuit2_FumiliFCNBase
11#define ROOT_Minuit2_FumiliFCNBase
107 virtual double Hessian(
unsigned int row,
unsigned int col)
const
111 return fHessian[col + row * (row + 1) / 2];
113 return fHessian[row + col * (col + 1) / 2];
131 fHessian = std::vector<double>(
static_cast<int>(0.5 * npar * (npar + 1)));
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Extension of the FCNBase for the Fumili method.
virtual void EvaluateAll(const std::vector< double > &par)=0
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p ...
FumiliFCNBase()
Default Constructor.
std::vector< double > & Hessian()
virtual double Value() const
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll m...
std::vector< double > fGradient
virtual const std::vector< double > & Gradient() const
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll me...
std::vector< double > fHessian
virtual void InitAndReset(unsigned int npar)
initialize and reset values of gradien and Hessian
void SetFCNValue(double value)
unsigned int fNumberOfParameters
virtual unsigned int Dimension()
return number of function variable (parameters) , i.e.
FumiliFCNBase(unsigned int npar)
Constructor which initializes the class with the function provided by the user for modeling the data.
virtual double Hessian(unsigned int row, unsigned int col) const
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNB...
std::vector< double > & Gradient()
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...