Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
17namespace ROOT {
18
19namespace Minuit2 {
20
21class MnFcn;
22class MnUserTransformation;
23class MnMachinePrecision;
24class MnStrategy;
25
26/**
27 HessianGradientCalculator: class to calculate Gradient for Hessian
28 */
29
31
32public:
34 : fFcn(fcn), fTransformation(par), fStrategy(stra)
35 {
36 }
37
38 FunctionGradient operator()(const MinimumParameters &) const override;
39
40 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
41
42 std::pair<FunctionGradient, MnAlgebraicVector>
43 DeltaGradient(const MinimumParameters &, const FunctionGradient &) const;
44
45 const MnFcn &Fcn() const { return fFcn; }
46 const MnUserTransformation &Trafo() const { return fTransformation; }
47 const MnMachinePrecision &Precision() const;
48 const MnStrategy &Strategy() const { return fStrategy; }
49
50 unsigned int Ncycle() const;
51
52private:
53 const MnFcn &fFcn;
56};
57
58} // namespace Minuit2
59
60} // namespace ROOT
61
62#endif // ROOT_Minuit2_HessianGradientCalculator
interface class for gradient calculators
HessianGradientCalculator: class to calculate Gradient for Hessian.
const MnUserTransformation & Trafo() const
FunctionGradient operator()(const MinimumParameters &) const override
std::pair< FunctionGradient, MnAlgebraicVector > DeltaGradient(const MinimumParameters &, const FunctionGradient &) const
HessianGradientCalculator(const MnFcn &fcn, const MnUserTransformation &par, const MnStrategy &stra)
Wrapper class to FCNBase interface used internally by Minuit.
Definition MnFcn.h:30
Sets the relative floating point (double) arithmetic precision.
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
class dealing with the transformation between user specified parameters (external) and internal param...
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...