BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ROOT::Minuit2::FumiliErrorUpdator Class Reference

Description

In the case of the Fumili algorithm the Error matrix (or the Hessian matrix containing the (approximate) second derivatives) is calculated using a linearization of the model function negleting second derivatives. (In some sense the Name Updator is a little bit misleading as the Error matrix is not calculated by iteratively updating, like in Davidon's or other similar variable metric methods, but by recalculating each time).

Author
Andras Zsenei and Lorenzo Moneta, Creation date: 28 Sep 2004
See also
MINUIT Tutorial on function minimization, section 5
DavidonErrorUpdator

Definition at line 47 of file FumiliErrorUpdator.h.

Inheritance diagram for ROOT::Minuit2::FumiliErrorUpdator:
[legend]
Collaboration diagram for ROOT::Minuit2::FumiliErrorUpdator:
[legend]

Public Member Functions

 FumiliErrorUpdator ()
 
 ~FumiliErrorUpdator ()
 
virtual MinimumError Update (const MinimumState &, const MinimumParameters &, const FunctionGradient &) const
 
virtual MinimumError Update (const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters, const GradientCalculator &fGradientCalculator, double lambda) const
 

Constructor & Destructor Documentation

◆ FumiliErrorUpdator()

ROOT::Minuit2::FumiliErrorUpdator::FumiliErrorUpdator ( )
inline

Definition at line 51 of file FumiliErrorUpdator.h.

51 {}

◆ ~FumiliErrorUpdator()

ROOT::Minuit2::FumiliErrorUpdator::~FumiliErrorUpdator ( )
inline

Definition at line 53 of file FumiliErrorUpdator.h.

53 { }

Member Function Documentation

◆ Update() [1/2]

virtual MinimumError ROOT::Minuit2::FumiliErrorUpdator::Update ( const MinimumState ,
const MinimumParameters ,
const FunctionGradient  
) const
virtual

Member function which is only present due to the design already in place of the software. As all classes calculating the Error matrix are supposed inherit from the MinimumErrorUpdator they must inherit this method. In some methods calculating the aforementioned matrix some of these parameters are not needed and other parameters are necessary... Hopefully, a more elegant solution will be found in the future.

Todo:
How to get rid of this dummy method which is only due to the inheritance

Implements ROOT::Minuit2::MinimumErrorUpdator.

◆ Update() [2/2]

virtual MinimumError ROOT::Minuit2::FumiliErrorUpdator::Update ( const MinimumState fMinimumState,
const MinimumParameters fMinimumParameters,
const GradientCalculator fGradientCalculator,
double  lambda 
) const
virtual

Member function that calculates the Error matrix (or the Hessian matrix containing the (approximate) second derivatives) using a linearization of the model function negleting second derivatives.

Parameters
fMinimumStateused to calculate the change in the covariance matrix between the two iterations
fMinimumParametersthe parameters at the present iteration
fGradientCalculatorthe Gradient calculator used to retrieved the Parameter transformation
fFumiliFCNBasethe function calculating the figure of merit.
Todo:
Some nice latex mathematical formuli...

The documentation for this class was generated from the following file: