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

Description

API class for minimization using Variable Metric technology ("MIGRAD"); allows for user interaction: set/change parameters, do minimization, change parameters, re-do minimization etc.; also used by MnMinos and MnContours;

Definition at line 31 of file MnMigrad.h.

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

Public Member Functions

 MnMigrad (const FCNBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FCNBase + MnUserParameters + MnUserCovariance More...
 
 MnMigrad (const FCNBase &fcn, const MnUserParameters &par, unsigned int stra=1)
 construct from FCNBase + MnUserParameters More...
 
 MnMigrad (const FCNBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
 construct from FCNBase + MnUserParameterState + MnStrategy More...
 
 MnMigrad (const FCNBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FCNBase + std::vector for parameters and MnUserCovariance More...
 
 MnMigrad (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 More...
 
 MnMigrad (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 More...
 
 MnMigrad (const FCNGradientBase &fcn, const MnUserParameters &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FCNGradientBase + MnUserParameters + MnUserCovariance More...
 
 MnMigrad (const FCNGradientBase &fcn, const MnUserParameters &par, unsigned int stra=1)
 construct from FCNGradientBase + MnUserParameters More...
 
 MnMigrad (const FCNGradientBase &fcn, const MnUserParameterState &par, const MnStrategy &str)
 construct from FCNGradientBase + MnUserParameterState + MnStrategy More...
 
 MnMigrad (const FCNGradientBase &fcn, const std::vector< double > &par, const MnUserCovariance &cov, unsigned int stra=1)
 construct from FCNGradientBase + std::vector for parameters and MnUserCovariance More...
 
 MnMigrad (const FCNGradientBase &fcn, const std::vector< double > &par, const std::vector< double > &err, unsigned int stra=1)
 construct from FCNGradientBase + std::vector for parameters and errors More...
 
 MnMigrad (const FCNGradientBase &fcn, const std::vector< double > &par, unsigned int nrow, const std::vector< double > &cov, unsigned int stra=1)
 construct from FCNGradientBase + std::vector for parameters and covariance More...
 
 MnMigrad (const MnMigrad &migr)
 
 ~MnMigrad ()
 
void Add (const char *, double)
 
void Add (const char *Name, double val, double err)
 
void Add (const char *Name, double val, double err, double, double)
 
const MnUserCovarianceCovariance () const
 
double Error (const char *) const
 
double Error (unsigned int) const
 
std::vector< double > Errors () const
 
double Ext2int (unsigned int, double) const
 
unsigned int ExtOfInt (unsigned int) const
 
virtual const FCNBaseFcnbase () const
 
void Fix (const char *)
 
void Fix (unsigned int)
 
unsigned int Index (const char *) const
 
double Int2ext (unsigned int, double) const
 
unsigned int IntOfExt (unsigned int) const
 
ModularFunctionMinimizerMinimizer ()
 
const ModularFunctionMinimizerMinimizer () const
 
const std::vector< ROOT::Minuit2::MinuitParameter > & MinuitParameters () const
 
const char * Name (unsigned int) const
 
unsigned int NumOfCalls () const
 
virtual FunctionMinimum operator() (unsigned int maxfcn=0, double tolerance=0.1)
 
const MinuitParameterParameter (unsigned int i) const
 
const MnUserParametersParameters () const
 
std::vector< double > Params () const
 
const MnMachinePrecisionPrecision () const
 
void Release (const char *)
 
void Release (unsigned int)
 
void RemoveLimits (const char *)
 
void RemoveLimits (unsigned int)
 
void SetError (const char *, double)
 
void SetError (unsigned int, double)
 
void SetLimits (const char *, double, double)
 
void SetLimits (unsigned int, double, double)
 
void SetPrecision (double)
 
void SetValue (const char *, double)
 
void SetValue (unsigned int, double)
 
const MnUserParameterStateState () const
 
const MnStrategyStrategy () const
 
double Value (const char *) const
 
double Value (unsigned int) const
 
unsigned int VariableParameters () const
 

Protected Attributes

const FCNBasefFCN
 
unsigned int fNumCall
 
MnUserParameterState fState
 
MnStrategy fStrategy
 
bool fUseGrad
 

Private Member Functions

MnMigradoperator= (const MnMigrad &)
 

Private Attributes

VariableMetricMinimizer fMinimizer
 

Constructor & Destructor Documentation

◆ MnMigrad() [1/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const std::vector< double > &  par,
const std::vector< double > &  err,
unsigned int  stra = 1 
)
inline

construct from FCNBase + std::vector for parameters and errors

Definition at line 36 of file MnMigrad.h.

36 : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}
MnApplication(const FCNBase &fcn, const MnUserParameterState &state, const MnStrategy &stra, unsigned int nfcn=0)
constructor from non-gradient functions
VariableMetricMinimizer fMinimizer
Definition: MnMigrad.h:82

◆ MnMigrad() [2/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const std::vector< double > &  par,
unsigned int  nrow,
const std::vector< double > &  cov,
unsigned int  stra = 1 
)
inline

construct from FCNBase + std::vector for parameters and covariance

Definition at line 39 of file MnMigrad.h.

39 : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [3/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const std::vector< double > &  par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FCNBase + std::vector for parameters and MnUserCovariance

Definition at line 42 of file MnMigrad.h.

42 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [4/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const MnUserParameters par,
unsigned int  stra = 1 
)
inline

construct from FCNBase + MnUserParameters

Definition at line 45 of file MnMigrad.h.

45 : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [5/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const MnUserParameters par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FCNBase + MnUserParameters + MnUserCovariance

Definition at line 48 of file MnMigrad.h.

48 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [6/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNBase fcn,
const MnUserParameterState par,
const MnStrategy str 
)
inline

construct from FCNBase + MnUserParameterState + MnStrategy

Definition at line 51 of file MnMigrad.h.

51 : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [7/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const std::vector< double > &  par,
const std::vector< double > &  err,
unsigned int  stra = 1 
)
inline

construct from FCNGradientBase + std::vector for parameters and errors

Definition at line 56 of file MnMigrad.h.

56 : MnApplication(fcn, MnUserParameterState(par,err), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [8/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const std::vector< double > &  par,
unsigned int  nrow,
const std::vector< double > &  cov,
unsigned int  stra = 1 
)
inline

construct from FCNGradientBase + std::vector for parameters and covariance

Definition at line 59 of file MnMigrad.h.

59 : MnApplication(fcn, MnUserParameterState(par, cov, nrow), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [9/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const std::vector< double > &  par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FCNGradientBase + std::vector for parameters and MnUserCovariance

Definition at line 62 of file MnMigrad.h.

62 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [10/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const MnUserParameters par,
unsigned int  stra = 1 
)
inline

construct from FCNGradientBase + MnUserParameters

Definition at line 65 of file MnMigrad.h.

65 : MnApplication(fcn, MnUserParameterState(par), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [11/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const MnUserParameters par,
const MnUserCovariance cov,
unsigned int  stra = 1 
)
inline

construct from FCNGradientBase + MnUserParameters + MnUserCovariance

Definition at line 68 of file MnMigrad.h.

68 : MnApplication(fcn, MnUserParameterState(par, cov), MnStrategy(stra)), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [12/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const FCNGradientBase fcn,
const MnUserParameterState par,
const MnStrategy str 
)
inline

construct from FCNGradientBase + MnUserParameterState + MnStrategy

Definition at line 71 of file MnMigrad.h.

71 : MnApplication(fcn, MnUserParameterState(par), str), fMinimizer(VariableMetricMinimizer()) {}

◆ MnMigrad() [13/13]

ROOT::Minuit2::MnMigrad::MnMigrad ( const MnMigrad migr)
inline

Definition at line 73 of file MnMigrad.h.

73 : MnApplication(migr.Fcnbase(), migr.State(), migr.Strategy(), migr.NumOfCalls()), fMinimizer(migr.fMinimizer) {}

◆ ~MnMigrad()

ROOT::Minuit2::MnMigrad::~MnMigrad ( )
inline

Definition at line 75 of file MnMigrad.h.

75 {}

Member Function Documentation

◆ Add() [1/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  ,
double   
)
inherited

◆ Add() [2/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  Name,
double  val,
double  err 
)
inherited

◆ Add() [3/3]

void ROOT::Minuit2::MnApplication::Add ( const char *  Name,
double  val,
double  err,
double  ,
double   
)
inherited

◆ Covariance()

const MnUserCovariance& ROOT::Minuit2::MnApplication::Covariance ( ) const
inlineinherited

Definition at line 67 of file MnApplication.h.

67 {return fState.Covariance();}
MnUserParameterState fState
Definition: MnApplication.h:75
const MnUserCovariance & Covariance() const

References ROOT::Minuit2::MnUserParameterState::Covariance(), and ROOT::Minuit2::MnApplication::fState.

Here is the call graph for this function:

◆ Error() [1/2]

double ROOT::Minuit2::MnApplication::Error ( const char *  ) const
inherited

◆ Error() [2/2]

double ROOT::Minuit2::MnApplication::Error ( unsigned int  ) const
inherited

◆ Errors()

std::vector<double> ROOT::Minuit2::MnApplication::Errors ( ) const
inherited

◆ Ext2int()

double ROOT::Minuit2::MnApplication::Ext2int ( unsigned int  ,
double   
) const
inherited

◆ ExtOfInt()

unsigned int ROOT::Minuit2::MnApplication::ExtOfInt ( unsigned int  ) const
inherited

◆ Fcnbase()

virtual const FCNBase& ROOT::Minuit2::MnApplication::Fcnbase ( ) const
inlinevirtualinherited

Reimplemented in ROOT::Minuit2::MnFumiliMinimize.

Definition at line 68 of file MnApplication.h.

68 {return fFCN;}

References ROOT::Minuit2::MnApplication::fFCN.

◆ Fix() [1/2]

void ROOT::Minuit2::MnApplication::Fix ( const char *  )
inherited

◆ Fix() [2/2]

void ROOT::Minuit2::MnApplication::Fix ( unsigned int  )
inherited

◆ Index()

unsigned int ROOT::Minuit2::MnApplication::Index ( const char *  ) const
inherited

◆ Int2ext()

double ROOT::Minuit2::MnApplication::Int2ext ( unsigned int  ,
double   
) const
inherited

◆ IntOfExt()

unsigned int ROOT::Minuit2::MnApplication::IntOfExt ( unsigned int  ) const
inherited

◆ Minimizer() [1/2]

ModularFunctionMinimizer& ROOT::Minuit2::MnMigrad::Minimizer ( )
inlinevirtual

Implements ROOT::Minuit2::MnApplication.

Definition at line 77 of file MnMigrad.h.

77 {return fMinimizer;}

References fMinimizer.

◆ Minimizer() [2/2]

const ModularFunctionMinimizer& ROOT::Minuit2::MnMigrad::Minimizer ( ) const
inlinevirtual

Implements ROOT::Minuit2::MnApplication.

Definition at line 78 of file MnMigrad.h.

78 {return fMinimizer;}

References fMinimizer.

◆ MinuitParameters()

const std::vector<ROOT::Minuit2::MinuitParameter>& ROOT::Minuit2::MnApplication::MinuitParameters ( ) const
inherited

◆ Name()

const char* ROOT::Minuit2::MnApplication::Name ( unsigned int  ) const
inherited

◆ NumOfCalls()

unsigned int ROOT::Minuit2::MnApplication::NumOfCalls ( ) const
inlineinherited

Definition at line 70 of file MnApplication.h.

70 {return fNumCall;}

References ROOT::Minuit2::MnApplication::fNumCall.

◆ operator()()

virtual FunctionMinimum ROOT::Minuit2::MnApplication::operator() ( unsigned int  maxfcn = 0,
double  tolerance = 0.1 
)
virtualinherited

Minimize the function

Parameters
maxfcn: max number of function calls (if = 0) default is used which is set to 200 + 100 * npar + 5 * npar**2
tolerance: value used for terminating iteration procedure. For example, MIGRAD will stop iterating when edm (expected distance from minimum) will be: edm < tolerance * 10**-3 Default value of tolerance used is 0.1

Reimplemented in ROOT::Minuit2::MnFumiliMinimize.

◆ operator=()

MnMigrad& ROOT::Minuit2::MnMigrad::operator= ( const MnMigrad )
inlineprivate

Definition at line 87 of file MnMigrad.h.

87 {return *this;}

◆ Parameter()

const MinuitParameter& ROOT::Minuit2::MnApplication::Parameter ( unsigned int  i) const
inherited

◆ Parameters()

const MnUserParameters& ROOT::Minuit2::MnApplication::Parameters ( ) const
inlineinherited

Definition at line 66 of file MnApplication.h.

66 {return fState.Parameters();}
const MnUserParameters & Parameters() const

References ROOT::Minuit2::MnApplication::fState, and ROOT::Minuit2::MnUserParameterState::Parameters().

Here is the call graph for this function:

◆ Params()

std::vector<double> ROOT::Minuit2::MnApplication::Params ( ) const
inherited

◆ Precision()

const MnMachinePrecision& ROOT::Minuit2::MnApplication::Precision ( ) const
inlineinherited

Definition at line 64 of file MnApplication.h.

64 {return fState.Precision();}
const MnMachinePrecision & Precision() const

References ROOT::Minuit2::MnApplication::fState, and ROOT::Minuit2::MnUserParameterState::Precision().

Here is the call graph for this function:

◆ Release() [1/2]

void ROOT::Minuit2::MnApplication::Release ( const char *  )
inherited

◆ Release() [2/2]

void ROOT::Minuit2::MnApplication::Release ( unsigned int  )
inherited

◆ RemoveLimits() [1/2]

void ROOT::Minuit2::MnApplication::RemoveLimits ( const char *  )
inherited

◆ RemoveLimits() [2/2]

void ROOT::Minuit2::MnApplication::RemoveLimits ( unsigned int  )
inherited

◆ SetError() [1/2]

void ROOT::Minuit2::MnApplication::SetError ( const char *  ,
double   
)
inherited

◆ SetError() [2/2]

void ROOT::Minuit2::MnApplication::SetError ( unsigned int  ,
double   
)
inherited

◆ SetLimits() [1/2]

void ROOT::Minuit2::MnApplication::SetLimits ( const char *  ,
double  ,
double   
)
inherited

◆ SetLimits() [2/2]

void ROOT::Minuit2::MnApplication::SetLimits ( unsigned int  ,
double  ,
double   
)
inherited

◆ SetPrecision()

void ROOT::Minuit2::MnApplication::SetPrecision ( double  )
inherited

◆ SetValue() [1/2]

void ROOT::Minuit2::MnApplication::SetValue ( const char *  ,
double   
)
inherited

◆ SetValue() [2/2]

void ROOT::Minuit2::MnApplication::SetValue ( unsigned int  ,
double   
)
inherited

◆ State()

const MnUserParameterState& ROOT::Minuit2::MnApplication::State ( ) const
inlineinherited

Definition at line 65 of file MnApplication.h.

65 {return fState;}

References ROOT::Minuit2::MnApplication::fState.

◆ Strategy()

const MnStrategy& ROOT::Minuit2::MnApplication::Strategy ( ) const
inlineinherited

Definition at line 69 of file MnApplication.h.

69 {return fStrategy;}

References ROOT::Minuit2::MnApplication::fStrategy.

◆ Value() [1/2]

double ROOT::Minuit2::MnApplication::Value ( const char *  ) const
inherited

◆ Value() [2/2]

double ROOT::Minuit2::MnApplication::Value ( unsigned int  ) const
inherited

◆ VariableParameters()

unsigned int ROOT::Minuit2::MnApplication::VariableParameters ( ) const
inherited

Member Data Documentation

◆ fFCN

const FCNBase& ROOT::Minuit2::MnApplication::fFCN
protectedinherited

Definition at line 74 of file MnApplication.h.

Referenced by ROOT::Minuit2::MnApplication::Fcnbase().

◆ fMinimizer

VariableMetricMinimizer ROOT::Minuit2::MnMigrad::fMinimizer
private

Definition at line 82 of file MnMigrad.h.

Referenced by Minimizer().

◆ fNumCall

unsigned int ROOT::Minuit2::MnApplication::fNumCall
protectedinherited

Definition at line 77 of file MnApplication.h.

Referenced by ROOT::Minuit2::MnApplication::NumOfCalls().

◆ fState

◆ fStrategy

MnStrategy ROOT::Minuit2::MnApplication::fStrategy
protectedinherited

Definition at line 76 of file MnApplication.h.

Referenced by ROOT::Minuit2::MnApplication::Strategy().

◆ fUseGrad

bool ROOT::Minuit2::MnApplication::fUseGrad
protectedinherited

Definition at line 78 of file MnApplication.h.


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