BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
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
13
#include "
Minuit2/MinimumErrorUpdator.h
"
14
15
namespace
ROOT
{
16
17
namespace
Minuit2 {
18
19
20
class
MinimumState;
21
class
MinimumParameters;
22
class
GradientCalculator;
23
class
FumiliFCNBase;
24
class
FunctionGradient;
25
26
/**
27
28
In the case of the Fumili algorithm the Error matrix (or the Hessian
29
matrix containing the (approximate) second derivatives) is calculated
30
using a linearization of the model function negleting second
31
derivatives. (In some sense the Name Updator is a little bit misleading
32
as the Error matrix is not calculated by iteratively updating, like
33
in Davidon's or other similar variable metric methods, but by
34
recalculating each time).
35
36
37
@author Andras Zsenei and Lorenzo Moneta, Creation date: 28 Sep 2004
38
39
@see <A HREF="http://www.cern.ch/winkler/minuit/tutorial/mntutorial.pdf">MINUIT Tutorial</A> on function minimization, section 5
40
41
@see DavidonErrorUpdator
42
43
@ingroup Minuit
44
45
*/
46
47
class
FumiliErrorUpdator
:
public
MinimumErrorUpdator
{
48
49
public
:
50
51
FumiliErrorUpdator
() {}
52
53
~FumiliErrorUpdator
() { }
54
55
56
57
/**
58
59
Member function that calculates the Error matrix (or the Hessian
60
matrix containing the (approximate) second derivatives) using a
61
linearization of the model function negleting second derivatives.
62
63
@param fMinimumState used to calculate the change in the covariance
64
matrix between the two iterations
65
66
@param fMinimumParameters the parameters at the present iteration
67
68
@param fGradientCalculator the Gradient calculator used to retrieved the Parameter transformation
69
70
@param fFumiliFCNBase the function calculating the figure of merit.
71
72
73
\todo Some nice latex mathematical formuli...
74
75
*/
76
77
virtual
MinimumError
Update
(
const
MinimumState
& fMinimumState,
78
const
MinimumParameters
& fMinimumParameters,
79
const
GradientCalculator
& fGradientCalculator,
80
double
lambda)
const
;
81
82
83
84
/**
85
86
Member function which is only present due to the design already in place
87
of the software. As all classes calculating the Error matrix are supposed
88
inherit from the MinimumErrorUpdator they must inherit this method. In some
89
methods calculating the aforementioned matrix some of these parameters are
90
not needed and other parameters are necessary... Hopefully, a more elegant
91
solution will be found in the future.
92
93
\todo How to get rid of this dummy method which is only due to the inheritance
94
95
*/
96
97
virtual
MinimumError
Update
(
const
MinimumState
&,
const
MinimumParameters
&,
98
const
FunctionGradient
&)
const
;
99
100
101
102
private
:
103
104
105
};
106
107
}
// namespace Minuit2
108
109
}
// namespace ROOT
110
111
#endif
// ROOT_Minuit2_FumiliErrorUpdator
MinimumErrorUpdator.h
ROOT::Minuit2::FumiliErrorUpdator
Definition:
FumiliErrorUpdator.h:47
ROOT::Minuit2::FumiliErrorUpdator::~FumiliErrorUpdator
~FumiliErrorUpdator()
Definition:
FumiliErrorUpdator.h:53
ROOT::Minuit2::FumiliErrorUpdator::FumiliErrorUpdator
FumiliErrorUpdator()
Definition:
FumiliErrorUpdator.h:51
ROOT::Minuit2::FumiliErrorUpdator::Update
virtual MinimumError Update(const MinimumState &, const MinimumParameters &, const FunctionGradient &) const
ROOT::Minuit2::FumiliErrorUpdator::Update
virtual MinimumError Update(const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters, const GradientCalculator &fGradientCalculator, double lambda) const
ROOT::Minuit2::FunctionGradient
Definition:
FunctionGradient.h:21
ROOT::Minuit2::GradientCalculator
Definition:
GradientCalculator.h:25
ROOT::Minuit2::MinimumErrorUpdator
Definition:
MinimumErrorUpdator.h:23
ROOT::Minuit2::MinimumError
Definition:
MinimumError.h:26
ROOT::Minuit2::MinimumParameters
Definition:
MinimumParameters.h:21
ROOT::Minuit2::MinimumState
Definition:
MinimumState.h:29
ROOT
Definition:
TUUID.h:7
Fit
3rdparty
RootMinimizers
Minuit2
FumiliErrorUpdator.h
Generated by
1.9.1