27#ifndef ROOT_Math_GSLNLSMinimizer
28#define ROOT_Math_GSLNLSMinimizer
78 fX2(std::vector<double>(func.
NDim() ) )
110 void FdF (
const double *
x,
double &
f,
double *
g)
const {
111 unsigned int n =
NDim();
112 std::copy(
x,
x+
n,
fX2.begin());
113 const double kEps = 1.0E-4;
115 for (
unsigned int i = 0; i <
n; ++i) {
132 const double kEps = 1.0E-4;
139 mutable std::vector<double>
fX2;
178 if (
this == &rhs)
return *
this;
224 virtual double CovMatrix(
unsigned int ,
unsigned int )
const;
FitMethodFunction class Interface for objective functions (like chi2 and likelihood used in the fit) ...
virtual double DataElement(const double *x, unsigned int i, double *g=0) const =0
method returning the data i-th contribution to the fit objective function For example the residual fo...
virtual unsigned int NCalls() const
return the total number of function calls (overrided if needed)
virtual unsigned int NDim() const
Number of dimension (parameters) .
Base Minimizer class, which defines the basic funcionality of various minimizer implementations (apar...
GSLMultiFit, internal class for implementing GSL non linear least square GSL fitting.
GSLNLSMinimizer class for Non Linear Least Square fitting It Uses the Levemberg-Marquardt algorithm f...
const ROOT::Math::FitMethodFunction * fChi2Func
virtual bool Minimize()
method to perform the minimization
virtual bool ProvidesError() const
number of free variables (real dimension of the problem) this is <= Function().NDim() which is the to...
std::vector< double > fErrors
std::vector< LSResidualFunc > fResiduals
virtual double CovMatrix(unsigned int, unsigned int) const
return covariance matrices elements if the variable is fixed the matrix is zero The ordering of the v...
std::vector< double > fCovMatrix
virtual double Edm() const
return expected distance reached from the minimum
virtual int CovMatrixStatus() const
return covariance matrix status
virtual const double * Errors() const
return errors at the minimum
virtual unsigned int NCalls() const
number of function calls to reach the minimum
virtual const double * MinGradient() const
return pointer to gradient values at the minimum
GSLNLSMinimizer & operator=(const GSLNLSMinimizer &rhs)
Assignment operator.
GSLNLSMinimizer(int type=0)
Default constructor.
GSLNLSMinimizer(const GSLNLSMinimizer &)
Copy constructor.
ROOT::Math::GSLMultiFit * fGSLMultiFit
virtual void SetFunction(const ROOT::Math::IMultiGenFunction &func)
set the function to minimize
~GSLNLSMinimizer()
Destructor (no operations)
Documentation for the abstract class IBaseFunctionMultiDim.
Interface (abstract class) for multi-dimensional functions providing a gradient calculation.
LSResidualFunc class description.
double DoEval(const double *x) const
LSResidualFunc & operator=(const LSResidualFunc &rhs)
LSResidualFunc(const LSResidualFunc &rhs)
LSResidualFunc(const ROOT::Math::FitMethodFunction &func, unsigned int i)
unsigned int NDim() const
Retrieve the dimension of the function.
std::vector< double > fX2
void Gradient(const double *x, double *g) const
IMultiGenFunction * Clone() const
Clone a function.
const ROOT::Math::FitMethodFunction * fChi2
void FdF(const double *x, double &f, double *g) const
double DoDerivative(const double *x, unsigned int icoord) const
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.