10#ifndef ROOT_Minuit2_FumiliFCNBase
11#define ROOT_Minuit2_FumiliFCNBase
110 std::vector<double>
Hessian(std::vector<double>
const&)
const override {
return fHessian;}
111 virtual double Hessian(
unsigned int row,
unsigned int col)
const
115 return fHessian[col + row * (row + 1) / 2];
117 return fHessian[row + col * (col + 1) / 2];
135 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
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Extension of the FCNBase for the Fumili method.
FumiliFCNBase()
Default Constructor.
bool HasGradient() const override
std::vector< double > Gradient(std::vector< double > const &) const override
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
std::vector< double > Hessian(std::vector< double > const &) const override
Return Value of the i-th j-th element of the Hessian matrix estimated previously using the FumiliFCNB...
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 void EvaluateAll(std::vector< double > const &par)=0
Evaluate function Value, Gradient and Hessian using Fumili approximation, for values of parameters p ...
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...