Logo ROOT  
Reference Guide
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 
13 #include "Minuit2/MnApplication.h"
15 
16 #include <vector>
17 
18 namespace ROOT {
19 
20 namespace Minuit2 {
21 
22 class 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 
35 class MnSimplex : public MnApplication {
36 
37 public:
38  /// construct from FCNBase + std::vector for parameters and errors
39  MnSimplex(const FCNBase &fcn, const std::vector<double> &par, const std::vector<double> &err, unsigned int stra = 1)
41  {
42  }
43 
44  /// construct from FCNBase + std::vector for parameters and covariance
45  MnSimplex(const FCNBase &fcn, const std::vector<double> &par, unsigned int nrow, const std::vector<double> &cov,
46  unsigned int stra = 1)
48  {
49  }
50 
51  /// construct from FCNBase + std::vector for parameters and MnUserCovariance
52  MnSimplex(const FCNBase &fcn, const std::vector<double> &par, const MnUserCovariance &cov, unsigned int stra = 1)
54  {
55  }
56 
57  /// construct from FCNBase + MnUserParameters
58  MnSimplex(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra = 1)
60  {
61  }
62 
63  /// construct from FCNBase + MnUserParameters + MnUserCovariance
64  MnSimplex(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra = 1)
66  {
67  }
68 
69  /// construct from FCNBase + MnUserParameterState + MnStrategy
70  MnSimplex(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
72  {
73  }
74 
75  MnSimplex(const MnSimplex &migr)
76  : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer)
77  {
78  }
79 
81 
83  const ModularFunctionMinimizer &Minimizer() const { return fMinimizer; }
84 
85 private:
87 
88 private:
89  // forbidden assignment of migrad (const FCNBase& = )
90  MnSimplex &operator=(const MnSimplex &) { return *this; }
91 };
92 
93 } // namespace Minuit2
94 
95 } // namespace ROOT
96 
97 #endif // ROOT_Minuit2_MnSimplex
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and covariance
Definition: MnSimplex.h:45
ROOT::Minuit2::MnSimplex::Minimizer
ModularFunctionMinimizer & Minimizer()
Definition: MnSimplex.h:82
ROOT::Minuit2::MnApplication
application interface class for minimizers (migrad, simplex, Minimize, Scan) User normally instantiat...
Definition: MnApplication.h:37
ROOT::Minuit2::FCNBase
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition: FCNBase.h:45
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
construct from FCNBase + MnUserParameters
Definition: MnSimplex.h:58
ROOT::Minuit2::MnApplication::Fcnbase
virtual const FCNBase & Fcnbase() const
Definition: MnApplication.h:67
ROOT::Minuit2::MnUserCovariance
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
Definition: MnUserCovariance.h:26
MnApplication.h
ROOT::Minuit2::MnApplication::State
const MnUserParameterState & State() const
Definition: MnApplication.h:64
ROOT::Minuit2::MnApplication::NumOfCalls
unsigned int NumOfCalls() const
Definition: MnApplication.h:69
ROOT::Minuit2::MnSimplex::Minimizer
const ModularFunctionMinimizer & Minimizer() const
Definition: MnSimplex.h:83
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const MnSimplex &migr)
Definition: MnSimplex.h:75
ROOT::Minuit2::SimplexMinimizer
Class implementing the required methods for a minimization using Simplex.
Definition: SimplexMinimizer.h:28
ROOT::Minuit2::MnUserParameters
API class for the user interaction with the parameters; serves as input to the minimizer as well as o...
Definition: MnUserParameters.h:36
ROOT::Minuit2::ModularFunctionMinimizer
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
Definition: ModularFunctionMinimizer.h:40
ROOT::Minuit2::MnSimplex::operator=
MnSimplex & operator=(const MnSimplex &)
Definition: MnSimplex.h:90
ROOT::Minuit2::MnSimplex
API class for minimization using the Simplex method, which does not need and use the derivatives of t...
Definition: MnSimplex.h:35
ROOT::Minuit2::MnUserParameterState
class which holds the external user and/or internal Minuit representation of the parameters and error...
Definition: MnUserParameterState.h:33
SimplexMinimizer.h
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + MnUserParameters + MnUserCovariance
Definition: MnSimplex.h:64
ROOT::Minuit2::MnSimplex::fMinimizer
SimplexMinimizer fMinimizer
Definition: MnSimplex.h:86
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
construct from FCNBase + MnUserParameterState + MnStrategy
Definition: MnSimplex.h:70
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and MnUserCovariance
Definition: MnSimplex.h:52
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
ROOT::Minuit2::MnSimplex::~MnSimplex
~MnSimplex()
Definition: MnSimplex.h:80
ROOT::Minuit2::MnSimplex::MnSimplex
MnSimplex(const FCNBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
construct from FCNBase + std::vector for parameters and errors
Definition: MnSimplex.h:39
ROOT::Minuit2::MnApplication::Strategy
const MnStrategy & Strategy() const
Definition: MnApplication.h:68