Logo ROOT  
Reference Guide
FumiliErrorUpdator.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_FumiliErrorUpdator
11 #define ROOT_Minuit2_FumiliErrorUpdator
12 
14 
15 namespace ROOT {
16 
17 namespace Minuit2 {
18 
19 class MinimumState;
20 class MinimumParameters;
21 class GradientCalculator;
22 class FumiliFCNBase;
23 class FunctionGradient;
24 
25 /**
26 
27 In the case of the Fumili algorithm the Error matrix (or the Hessian
28 matrix containing the (approximate) second derivatives) is calculated
29 using a linearization of the model function negleting second
30 derivatives. (In some sense the Name Updator is a little bit misleading
31 as the Error matrix is not calculated by iteratively updating, like
32 in Davidon's or other similar variable metric methods, but by
33 recalculating each time).
34 
35 
36 @author Andras Zsenei and Lorenzo Moneta, Creation date: 28 Sep 2004
37 
38 @see <A HREF="http://www.cern.ch/winkler/minuit/tutorial/mntutorial.pdf">MINUIT Tutorial</A> on function minimization,
39 section 5
40 
41 @see DavidonErrorUpdator
42 
43 @ingroup Minuit
44 
45 */
46 
48 
49 public:
51 
53 
54  /**
55 
56  Member function that calculates the Error matrix (or the Hessian
57  matrix containing the (approximate) second derivatives) using a
58  linearization of the model function negleting second derivatives.
59 
60  @param fMinimumState used to calculate the change in the covariance
61  matrix between the two iterations
62 
63  @param fMinimumParameters the parameters at the present iteration
64 
65  @param fGradientCalculator the Gradient calculator used to retrieved the Parameter transformation
66 
67  @param lambda the Marquard lambda factor
68 
69 
70  \todo Some nice latex mathematical formuli...
71 
72  */
73 
74  virtual MinimumError Update(const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters,
75  const GradientCalculator &fGradientCalculator, double lambda) const;
76 
77  /**
78 
79  Member function which is only present due to the design already in place
80  of the software. As all classes calculating the Error matrix are supposed
81  inherit from the MinimumErrorUpdator they must inherit this method. In some
82  methods calculating the aforementioned matrix some of these parameters are
83  not needed and other parameters are necessary... Hopefully, a more elegant
84  solution will be found in the future.
85 
86  \todo How to get rid of this dummy method which is only due to the inheritance
87 
88  */
89 
90  virtual MinimumError Update(const MinimumState &, const MinimumParameters &, const FunctionGradient &) const;
91 
92 private:
93 };
94 
95 } // namespace Minuit2
96 
97 } // namespace ROOT
98 
99 #endif // ROOT_Minuit2_FumiliErrorUpdator
ROOT::Minuit2::FumiliErrorUpdator::FumiliErrorUpdator
FumiliErrorUpdator()
Definition: FumiliErrorUpdator.h:50
ROOT::Minuit2::MinimumState
MinimumState keeps the information (position, Gradient, 2nd deriv, etc) after one minimization step (...
Definition: MinimumState.h:29
MinimumErrorUpdator.h
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:21
ROOT::Minuit2::FumiliErrorUpdator::~FumiliErrorUpdator
~FumiliErrorUpdator()
Definition: FumiliErrorUpdator.h:52
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:21
ROOT::Minuit2::FumiliErrorUpdator
In the case of the Fumili algorithm the Error matrix (or the Hessian matrix containing the (approxima...
Definition: FumiliErrorUpdator.h:47
ROOT::Minuit2::FumiliErrorUpdator::Update
virtual MinimumError Update(const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters, const GradientCalculator &fGradientCalculator, double lambda) const
Member function that calculates the Error matrix (or the Hessian matrix containing the (approximate) ...
Definition: FumiliErrorUpdator.cxx:43
ROOT::Minuit2::MinimumErrorUpdator
Definition: MinimumErrorUpdator.h:22
ROOT::Minuit2::MinimumError
MinimumError keeps the inv.
Definition: MinimumError.h:26
ROOT::Minuit2::GradientCalculator
interface class for gradient calculators
Definition: GradientCalculator.h:23
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4