10#ifndef ROOT_Minuit2_FumiliFCNBase
11#define ROOT_Minuit2_FumiliFCNBase
74 fHessian(std::vector<double>(static_cast<int>( 0.5*npar*(npar+1) )) )
98 virtual void EvaluateAll(
const std::vector<double> & par ) = 0;
120 virtual double Hessian(
unsigned int row,
unsigned int col)
const {
143 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()
Namespace for new ROOT classes and functions.