Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
MnSimplex.h
Go to the documentation of this file.
1// @(#)root/minuit2:$Id$
2// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7 * *
8 **********************************************************************/
9
10#ifndef ROOT_Minuit2_MnSimplex
11#define ROOT_Minuit2_MnSimplex
12
15
16#include <vector>
17
18namespace ROOT {
19
20namespace Minuit2 {
21
22class FCNBase;
23
24//_________________________________________________________________________
25/**
26 API class for minimization using the Simplex method, which does not need and use
27 the derivatives of the function, but only function values.
28 More information on the minimization method is available
29 <A HREF="http://seal.web.cern.ch/mathlibs/documents/minuit/mntutorial.pdf">here</A>.
30
31 It allows for user interaction: set/change parameters, do minimization,
32 change parameters, re-do minimization etc.;
33 */
34
35class MnSimplex : public MnApplication {
36
37public:
38 /// construct from FCNBase + MnUserParameterState + MnStrategy
39 MnSimplex(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str = MnStrategy{1})
41 {
42 }
43
44 MnSimplex(const MnSimplex &migr)
45 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer)
46 {
47 }
48
50 const ModularFunctionMinimizer &Minimizer() const override { return fMinimizer; }
51
52private:
54
55private:
56 // forbidden assignment of migrad (const FCNBase& = )
57 MnSimplex &operator=(const MnSimplex &) { return *this; }
58};
59
60} // namespace Minuit2
61
62} // namespace ROOT
63
64#endif // ROOT_Minuit2_MnSimplex
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition FCNBase.h:51
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
unsigned int NumOfCalls() const
const MnStrategy & Strategy() const
const MnUserParameterState & State() const
virtual const FCNBase & Fcnbase() const
API class for minimization using the Simplex method, which does not need and use the derivatives of t...
Definition MnSimplex.h:35
MnSimplex(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str=MnStrategy{1})
construct from FCNBase + MnUserParameterState + MnStrategy
Definition MnSimplex.h:39
MnSimplex(const MnSimplex &migr)
Definition MnSimplex.h:44
SimplexMinimizer fMinimizer
Definition MnSimplex.h:53
MnSimplex & operator=(const MnSimplex &)
Definition MnSimplex.h:57
const ModularFunctionMinimizer & Minimizer() const override
Definition MnSimplex.h:50
ModularFunctionMinimizer & Minimizer() override
Definition MnSimplex.h:49
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
class which holds the external user and/or internal Minuit representation of the parameters and error...
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
Class implementing the required methods for a minimization using Simplex.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...