27 #ifndef ROOT_Math_GSLNLSMinimizer
28 #define ROOT_Math_GSLNLSMinimizer
78 fX2(std::vector<double>(func.
NDim() ) )
105 void Gradient(
const double * x,
double * g)
const {
110 void FdF (
const double * x,
double & f,
double * g)
const {
134 std::copy(x,x+
NDim(),
fX2.begin());
135 const double kEps = 1.0E-4;
142 mutable std::vector<double>
fX2;
181 if (
this == &rhs)
return *
this;
227 virtual double CovMatrix(
unsigned int ,
unsigned int )
const;
virtual double DataElement(const double *x, unsigned int i, double *g=0) const =0
virtual unsigned int NCalls() const
virtual unsigned int NDim() const
const ROOT::Math::FitMethodFunction * fChi2Func
virtual void SetFunction(const ROOT::Math::IMultiGenFunction &func)
set the function to minimize
virtual double CovMatrix(unsigned int, unsigned int) const
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 void SetFunction(const ROOT::Math::IMultiGradFunction &func)
set gradient the function to minimize
std::vector< double > fCovMatrix
virtual double Edm() const
return expected distance reached from the minimum
GSLNLSMinimizer & operator=(const GSLNLSMinimizer &rhs)
virtual const double * Errors() const
return errors at the minimum
virtual unsigned int NCalls() const
number of function calls to reach the minimum
virtual int CovMatrixStatus() const
return covariance matrix status
GSLNLSMinimizer(int type=0)
GSLNLSMinimizer(const GSLNLSMinimizer &)
virtual const double * MinGradient() const
return pointer to gradient values at the minimum
ROOT::Math::GSLMultiFit * fGSLMultiFit
virtual bool Minimize()
method to perform the minimization
double DoEval(const double *x) const
LSResidualFunc(const LSResidualFunc &rhs)
LSResidualFunc(const ROOT::Math::FitMethodFunction &func, unsigned int i)
unsigned int NDim() const
std::vector< double > fX2
void Gradient(const double *x, double *g) const
const ROOT::Math::FitMethodFunction * fChi2
LSResidualFunc & operator=(const LSResidualFunc &rhs)
void FdF(const double *x, double &f, double *g) const
IMultiGenFunction * Clone() const
double DoDerivative(const double *x, unsigned int icoord) const
Various mathematical functions.