10#ifndef ROOT_Minuit2_FumiliFCNBase
11#define ROOT_Minuit2_FumiliFCNBase
99 std::vector<double>
Gradient(
const std::vector<double> &)
const override {
return fGradient;}
108 std::vector<double>
Hessian(
const std::vector<double> &)
const override {
return fHessian;}
109 virtual double Hessian(
unsigned int row,
unsigned int col)
const
113 return fHessian[col + row * (row + 1) / 2];
115 return fHessian[row + col * (col + 1) / 2];
133 fHessian = std::vector<double>(
static_cast<int>(0.5 * npar * (npar + 1)));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
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()
std::vector< double > Hessian(const std::vector< double > &) const override
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNB...
virtual double Value() const
Return cached Value of objective function estimated previously using the FumiliFCNBase::EvaluateAll m...
std::vector< double > fGradient
std::vector< double > Gradient(const std::vector< double > &) const override
virtual const std::vector< double > & Gradient() const
Return cached Value of function Gradient estimated previously using the FumiliFCNBase::EvaluateAll me...
~FumiliFCNBase() override
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
std::vector< double > & Gradient()
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...