Logo ROOT  
Reference Guide
HessianGradientCalculator.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_HessianGradientCalculator
11 #define ROOT_Minuit2_HessianGradientCalculator
12 
14 #include "Minuit2/MnMatrix.h"
15 #include <utility>
16 
17 namespace ROOT {
18 
19 namespace Minuit2 {
20 
21 class MnFcn;
22 class MnUserTransformation;
23 class MnMachinePrecision;
24 class MnStrategy;
25 
26 /**
27  HessianGradientCalculator: class to calculate Gradient for Hessian
28  */
29 
31 
32 public:
33  HessianGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
34  : fFcn(fcn), fTransformation(par), fStrategy(stra)
35  {
36  }
37 
39 
40  virtual FunctionGradient operator()(const MinimumParameters &) const;
41 
42  virtual FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const;
43 
44  std::pair<FunctionGradient, MnAlgebraicVector>
45  DeltaGradient(const MinimumParameters &, const FunctionGradient &) const;
46 
47  const MnFcn &Fcn() const { return fFcn; }
48  const MnUserTransformation &Trafo() const { return fTransformation; }
49  const MnMachinePrecision &Precision() const;
50  const MnStrategy &Strategy() const { return fStrategy; }
51 
52  unsigned int Ncycle() const;
53  double StepTolerance() const;
54  double GradTolerance() const;
55 
56 private:
57  const MnFcn &fFcn;
60 };
61 
62 } // namespace Minuit2
63 
64 } // namespace ROOT
65 
66 #endif // ROOT_Minuit2_HessianGradientCalculator
ROOT::Minuit2::MnFcn
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:30
GradientCalculator.h
ROOT::Minuit2::HessianGradientCalculator
HessianGradientCalculator: class to calculate Gradient for Hessian.
Definition: HessianGradientCalculator.h:30
ROOT::Minuit2::HessianGradientCalculator::Trafo
const MnUserTransformation & Trafo() const
Definition: HessianGradientCalculator.h:48
ROOT::Minuit2::HessianGradientCalculator::Precision
const MnMachinePrecision & Precision() const
Definition: HessianGradientCalculator.cxx:46
MnMatrix.h
ROOT::Minuit2::HessianGradientCalculator::Strategy
const MnStrategy & Strategy() const
Definition: HessianGradientCalculator.h:50
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:21
ROOT::Minuit2::HessianGradientCalculator::fTransformation
const MnUserTransformation & fTransformation
Definition: HessianGradientCalculator.h:58
ROOT::Minuit2::HessianGradientCalculator::operator()
virtual FunctionGradient operator()(const MinimumParameters &) const
Definition: HessianGradientCalculator.cxx:28
ROOT::Minuit2::HessianGradientCalculator::StepTolerance
double StepTolerance() const
Definition: HessianGradientCalculator.cxx:58
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:19
ROOT::Minuit2::HessianGradientCalculator::HessianGradientCalculator
HessianGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Definition: HessianGradientCalculator.h:33
ROOT::Minuit2::HessianGradientCalculator::Fcn
const MnFcn & Fcn() const
Definition: HessianGradientCalculator.h:47
ROOT::Minuit2::MnMachinePrecision
Sets the relative floating point (double) arithmetic precision.
Definition: MnMachinePrecision.h:32
ROOT::Minuit2::HessianGradientCalculator::fStrategy
const MnStrategy & fStrategy
Definition: HessianGradientCalculator.h:59
ROOT::Minuit2::HessianGradientCalculator::fFcn
const MnFcn & fFcn
Definition: HessianGradientCalculator.h:57
ROOT::Minuit2::MnUserTransformation
class dealing with the transformation between user specified parameters (external) and internal param...
Definition: MnUserTransformation.h:38
ROOT::Minuit2::MnStrategy
API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (...
Definition: MnStrategy.h:27
ROOT::Minuit2::HessianGradientCalculator::Ncycle
unsigned int Ncycle() const
Definition: HessianGradientCalculator.cxx:52
ROOT::Minuit2::HessianGradientCalculator::DeltaGradient
std::pair< FunctionGradient, MnAlgebraicVector > DeltaGradient(const MinimumParameters &, const FunctionGradient &) const
Definition: HessianGradientCalculator.cxx:71
ROOT::Minuit2::HessianGradientCalculator::~HessianGradientCalculator
virtual ~HessianGradientCalculator()
Definition: HessianGradientCalculator.h:38
ROOT::Minuit2::HessianGradientCalculator::GradTolerance
double GradTolerance() const
Definition: HessianGradientCalculator.cxx:64
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