class ROOT::Math::GSLSimAnMinimizer: public ROOT::Math::Minimizer


   GSLSimAnMinimizer class for minimization using simulated annealing
   using the algorithm from
   <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Annealing.html">
   GSL</A>.
   It implements the ROOT::Minimizer interface and
   a plug-in (name "GSLSimAn") exists to instantiate this class via the plug-in manager

   @ingroup Min1D

Function Members (Methods)

public:
virtual~GSLSimAnMinimizer()
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::GSLSimAnMinimizerGSLSimAnMinimizer(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 boolSetFixedVariable(unsigned int, const string&, double)
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::GSLSimAnMinimizerGSLSimAnMinimizer(const ROOT::Math::GSLSimAnMinimizer&)
ROOT::Math::GSLSimAnMinimizer&operator=(const ROOT::Math::GSLSimAnMinimizer& 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
doublefMinVal
unsigned intfNFix
vector<std::string>fNames
const ROOT::Math::IMultiGenFunction*fObjFunc
ROOT::Math::GSLSimAnnealingfSolver
vector<double>fSteps
vector<double>fValues
vector<bool>fVarFix

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

GSLSimAnMinimizer(int type = 0)
      Default constructor

~GSLSimAnMinimizer()
      Destructor (no operations)

GSLSimAnMinimizer(const GSLSimAnMinimizer &)
 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 SetFixedVariable(unsigned int , const string& , double )
 set fixed variable (override if minimizer supports them )
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
{ return 0; }
unsigned int NCalls()
 number of function calls to reach the minimum
{ return 0; }
unsigned int NDim()
 this is <= Function().NDim() which is the total
 number of variables (free+ constrained ones)
{ return fDim; }
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 false; }
const double * Errors()
 return errors at the minimum
{ return 0; }
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: GSLSimAnMinimizer.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.