GSLSimAnFunc class description. Interface class for the objetive function to be used in simulated annealing If user wants to re-implement some of the methods (like the one defining the metric) which are used by the the simulated annealing algorithm must build a user derived class. NOTE: Derived classes must re-implement the assignment and copy constructor to call them of the parent class @ingroup MultiMin
virtual | ~GSLSimAnFunc() |
virtual ROOT::Math::GSLSimAnFunc* | Clone() const |
virtual double | Distance(const ROOT::Math::GSLSimAnFunc& func) const |
virtual double | Energy() const |
virtual ROOT::Math::GSLSimAnFunc& | FastCopy(const ROOT::Math::GSLSimAnFunc& f) |
ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::GSLSimAnFunc&) |
ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::IMultiGenFunction& func, const double* x) |
ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::IMultiGenFunction& func, const double* x, const double* scale) |
unsigned int | NDim() const |
virtual void | Print() |
double | Scale(unsigned int i) const |
void | SetX(const double* x) |
void | SetX(unsigned int i, double x) |
virtual void | Step(const ROOT::Math::GSLRandomEngine& r, double maxstep) |
const vector<double>& | X() const |
double | X(unsigned int i) const |
ROOT::Math::GSLSimAnFunc | GSLSimAnFunc() |
const ROOT::Math::IMultiGenFunction* | fFunc | |
vector<double> | fScale | |
vector<double> | fX |
construct from an interface of a multi-dimensional function
construct from an interface of a multi-dimensional function Use optionally a scale factor (for each coordinate) which can be used to scale the step sizes (this is used for example by the minimization algorithm)
derived classes might need to re-define completly the class
{}
fast copy method called by GSL simuated annealing internally copy only the things which have been changed must be re-implemented by derived classes if needed
clone method. Needs to be re-implemented by the derived classes for deep copying
evaluate the energy ( objective function value) re-implement by derived classes if needed to be modified
change the x[i] value using a random value urndm generated between [0,1] up to a maximum value maxstep re-implement by derived classes if needed to be modified
calculate the distance (metric) between this one and another configuration Presently a cartesian metric is used. re-implement by derived classes if needed to be modified
print the position in the standard output ostream GSL prints in addition n iteration, n function calls, temperature and energy re-implement by derived classes if necessary