class ROOT::Math::GSLNLSMinimizer: public ROOT::Math::Minimizer


    LSResidualFunc class description.
    Internal class used for accessing the residuals of the Least Square function
    and their derivates which are estimated numerically using GSL numerical derivation.
    The class contains a pointer to the fit method function and an index specifying
    the i-th residual and wraps it in a multi-dim gradient function interface
    ROOT::Math::IGradientFunctionMultiDim.
    The class is used by ROOT::Math::GSLNLSMinimizer (GSL non linear least square fitter)

    @ingroup MultiMin

Function Members (Methods)

public:
virtual~GSLNLSMinimizer()
virtual voidROOT::Math::Minimizer::Clear()
virtual doubleROOT::Math::Minimizer::Correlation(unsigned int i, unsigned int j) const
virtual doubleCovMatrix(unsigned int, unsigned int) const
virtual doubleEdm() const
virtual const double*Errors() const
doubleROOT::Math::Minimizer::ErrorUp() const
virtual boolGetMinosError(unsigned int, double&, double&)
ROOT::Math::GSLNLSMinimizerGSLNLSMinimizer(int type = 0)
boolROOT::Math::Minimizer::IsValidError() const
unsigned intROOT::Math::Minimizer::MaxFunctionCalls()
unsigned intROOT::Math::Minimizer::MaxIterations()
virtual const double*MinGradient() const
virtual boolMinimize()
virtual doubleMinValue() const
virtual unsigned intNCalls() const
virtual unsigned intNDim() const
virtual unsigned intNFree() const
intROOT::Math::Minimizer::PrintLevel() const
virtual boolProvidesError() const
voidROOT::Math::Minimizer::SetErrorUp(double up)
virtual boolROOT::Math::Minimizer::SetFixedVariable(unsigned int ivar, const string& name, double val)
virtual voidSetFunction(const ROOT::Math::IMultiGenFunction& func)
virtual voidSetFunction(const ROOT::Math::IMultiGradFunction& func)
virtual boolROOT::Math::Minimizer::SetLimitedVariable(unsigned int ivar, const string& name, double val, double step, double, double)
virtual boolROOT::Math::Minimizer::SetLowerLimitedVariable(unsigned int ivar, const string& name, double val, double step, double lower)
voidROOT::Math::Minimizer::SetMaxFunctionCalls(unsigned int maxfcn)
voidROOT::Math::Minimizer::SetMaxIterations(unsigned int maxiter)
voidROOT::Math::Minimizer::SetPrintLevel(int level)
voidROOT::Math::Minimizer::SetStrategy(int strategyLevel)
voidROOT::Math::Minimizer::SetTolerance(double tol)
virtual boolROOT::Math::Minimizer::SetUpperLimitedVariable(unsigned int ivar, const string& name, double val, double step, double upper)
voidROOT::Math::Minimizer::SetValidError(bool on)
virtual boolSetVariable(unsigned int ivar, const string& name, double val, double step)
intROOT::Math::Minimizer::Strategy() const
doubleROOT::Math::Minimizer::Tolerance() const
virtual const double*X() const
private:
ROOT::Math::GSLNLSMinimizerGSLNLSMinimizer(const ROOT::Math::GSLNLSMinimizer&)
ROOT::Math::GSLNLSMinimizer&operator=(const ROOT::Math::GSLNLSMinimizer& rhs)

Data Members

protected:
intROOT::Math::Minimizer::fDebugprint level
unsigned intROOT::Math::Minimizer::fMaxCallsmax number of funciton calls
unsigned intROOT::Math::Minimizer::fMaxItermax number or iterations used to find the minimum
intROOT::Math::Minimizer::fStrategyminimizer strategy
doubleROOT::Math::Minimizer::fToltolerance (absolute)
doubleROOT::Math::Minimizer::fUperror scale
boolROOT::Math::Minimizer::fValidErrorflag to control if errors have been validated (Hesse has been run in case of Minuit)
private:
unsigned intfDim
ROOT::Math::GSLMultiFit*fGSLMultiFitpointer to GSL multi fit solver
doublefLSToleranceLine Search Tolerance
doublefMinValminimum function value
vector<std::string>fNames
const ROOT::Math::IMultiGenFunction*fObjFuncpointer to Least square function
vector<LSResidualFunc>fResiduals! transient Vector of the residual functions
unsigned intfSize
vector<double>fSteps
vector<double>fValues

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

operator=(const ROOT::Math::GSLNLSMinimizer& rhs)
unsigned int NDim()
{ return fChi2->NDim(); }
GSLNLSMinimizer(int type = 0)
      Default constructor

~GSLNLSMinimizer()
      Destructor (no operations)

GSLNLSMinimizer(const GSLNLSMinimizer &)
 usually copying is non trivial, so we make this unaccessible

      Copy constructor

{}
void SetFunction(const ROOT::Math::IMultiGenFunction & func)
 set the function to minimize
void SetFunction(const ROOT::Math::IMultiGradFunction & func)
 set gradient the function to minimize
bool SetVariable(unsigned int ivar, const string& name, double val, double step)
 set free variable
bool Minimize()
 method to perform the minimization
double MinValue()
 return minimum function value
{ return fMinVal; }
double Edm()
 return expected distance reached from the minimum
const double * X()
 return  pointer to X values at the minimum
{ return &fValues.front(); }
const double * MinGradient()
 return pointer to gradient values at the minimum
unsigned int NCalls()
 number of function calls to reach the minimum
{ return 0; }
unsigned int NFree()
 number of free variables (real dimension of the problem)
 this is <= Function().NDim() which is the total
{ return fDim; }
bool ProvidesError()
 minimizer provides error and error matrix
{ return true; }
const double * Errors()
 return errors at the minimum
double CovMatrix(unsigned int , unsigned int ) const
 return covariance matrices elements
       if the variable is fixed the matrix is zero
       The ordering of the variables is the same as in errors

{ return 0; }
bool GetMinosError(unsigned int , double& , double& )
 minos error for variable i, return false if Minos failed
{ return false; }

Author: L. Moneta Wed Dec 20 17:16:32 2006
Last change: root/mathmore:$Id: GSLNLSMinimizer.h 23619 2008-04-30 15:25:15Z moneta $
Last generated: 2008-06-25 08:29
Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.