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::MnHesse Class Reference

Description

API class for calculating the numerical covariance matrix (== 2x Inverse Hessian == 2x Inverse 2nd derivative); can be used by the user or Minuit itself

Definition at line 40 of file MnHesse.h.

Collaboration diagram for ROOT::Minuit2::MnHesse:
[legend]

Public Member Functions

 MnHesse ()
 default constructor with default strategy More...
 
 MnHesse (const MnStrategy &stra)
 conctructor with specific strategy More...
 
 MnHesse (unsigned int stra)
 constructor with user-defined strategy level More...
 
 ~MnHesse ()
 
unsigned int Ncycles () const
 forward interface of MnStrategy More...
 
MnUserParameterState operator() (const FCNBase &, const MnUserParameters &, const MnUserCovariance &, unsigned int maxcalls=0) const
 FCN + MnUserParameters + MnUserCovariance. More...
 
MnUserParameterState operator() (const FCNBase &, const MnUserParameters &, unsigned int maxcalls=0) const
 high-level API More...
 
MnUserParameterState operator() (const FCNBase &, const MnUserParameterState &, unsigned int maxcalls=0) const
 FCN + MnUserParameterState. More...
 
MnUserParameterState operator() (const FCNBase &, const std::vector< double > &, const MnUserCovariance &, unsigned int maxcalls=0) const
 FCN + parameters + MnUserCovariance. More...
 
MnUserParameterState operator() (const FCNBase &, const std::vector< double > &, const std::vector< double > &, unsigned int maxcalls=0) const
 low-level API More...
 
MnUserParameterState operator() (const FCNBase &, const std::vector< double > &, unsigned int nrow, const std::vector< double > &, unsigned int maxcalls=0) const
 FCN + parameters + covariance. More...
 
void operator() (const FCNBase &, FunctionMinimum &, unsigned int maxcalls=0) const
 API to use MnHesse after minimization when function mimimum is avalilable, otherwise information on the last state will be lost. (It would be needed to re-call the gradient and spend extra useless function calls) The Function Minimum is updated (modified) by adding the Hesse results as last state of minimization. More...
 
MinimumState operator() (const MnFcn &, const MinimumState &, const MnUserTransformation &, unsigned int maxcalls=0) const
 internal interface More...
 
double TolerG2 () const
 
double Tolerstp () const
 

Private Attributes

MnStrategy fStrategy
 

Constructor & Destructor Documentation

◆ MnHesse() [1/3]

ROOT::Minuit2::MnHesse::MnHesse ( )
inline

default constructor with default strategy

Definition at line 45 of file MnHesse.h.

45 : fStrategy(MnStrategy(1)) {}
MnStrategy fStrategy
Definition: MnHesse.h:92

◆ MnHesse() [2/3]

ROOT::Minuit2::MnHesse::MnHesse ( unsigned int  stra)
inline

constructor with user-defined strategy level

Definition at line 48 of file MnHesse.h.

48 : fStrategy(MnStrategy(stra)) {}

◆ MnHesse() [3/3]

ROOT::Minuit2::MnHesse::MnHesse ( const MnStrategy stra)
inline

conctructor with specific strategy

Definition at line 51 of file MnHesse.h.

51 : fStrategy(stra) {}

◆ ~MnHesse()

ROOT::Minuit2::MnHesse::~MnHesse ( )
inline

Definition at line 53 of file MnHesse.h.

53 {}

Member Function Documentation

◆ Ncycles()

unsigned int ROOT::Minuit2::MnHesse::Ncycles ( ) const
inline

forward interface of MnStrategy

Definition at line 86 of file MnHesse.h.

86 {return fStrategy.HessianNCycles();}
unsigned int HessianNCycles() const
Definition: MnStrategy.h:45

References fStrategy, and ROOT::Minuit2::MnStrategy::HessianNCycles().

Here is the call graph for this function:

◆ operator()() [1/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const MnUserParameters ,
const MnUserCovariance ,
unsigned int  maxcalls = 0 
) const

◆ operator()() [2/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const MnUserParameters ,
unsigned int  maxcalls = 0 
) const

high-level API

FCN + MnUserParameters

◆ operator()() [3/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const MnUserParameterState ,
unsigned int  maxcalls = 0 
) const

◆ operator()() [4/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const std::vector< double > &  ,
const MnUserCovariance ,
unsigned int  maxcalls = 0 
) const

FCN + parameters + MnUserCovariance.

◆ operator()() [5/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const std::vector< double > &  ,
const std::vector< double > &  ,
unsigned int  maxcalls = 0 
) const

low-level API

FCN + parameters + errors

◆ operator()() [6/8]

MnUserParameterState ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
const std::vector< double > &  ,
unsigned int  nrow,
const std::vector< double > &  ,
unsigned int  maxcalls = 0 
) const

FCN + parameters + covariance.

◆ operator()() [7/8]

void ROOT::Minuit2::MnHesse::operator() ( const FCNBase ,
FunctionMinimum ,
unsigned int  maxcalls = 0 
) const

API to use MnHesse after minimization when function mimimum is avalilable, otherwise information on the last state will be lost. (It would be needed to re-call the gradient and spend extra useless function calls) The Function Minimum is updated (modified) by adding the Hesse results as last state of minimization.

◆ operator()() [8/8]

MinimumState ROOT::Minuit2::MnHesse::operator() ( const MnFcn ,
const MinimumState ,
const MnUserTransformation ,
unsigned int  maxcalls = 0 
) const

internal interface

◆ TolerG2()

double ROOT::Minuit2::MnHesse::TolerG2 ( ) const
inline

Definition at line 88 of file MnHesse.h.

88 {return fStrategy.HessianG2Tolerance();}
double HessianG2Tolerance() const
Definition: MnStrategy.h:47

References fStrategy, and ROOT::Minuit2::MnStrategy::HessianG2Tolerance().

Here is the call graph for this function:

◆ Tolerstp()

double ROOT::Minuit2::MnHesse::Tolerstp ( ) const
inline

Definition at line 87 of file MnHesse.h.

double HessianStepTolerance() const
Definition: MnStrategy.h:46

References fStrategy, and ROOT::Minuit2::MnStrategy::HessianStepTolerance().

Here is the call graph for this function:

Member Data Documentation

◆ fStrategy

MnStrategy ROOT::Minuit2::MnHesse::fStrategy
private

Definition at line 92 of file MnHesse.h.

Referenced by Ncycles(), TolerG2(), and Tolerstp().


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