Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
AnalyticalGradientCalculator.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_AnalyticalGradientCalculator
11#define ROOT_Minuit2_AnalyticalGradientCalculator
12
14#include "Minuit2/MnMatrixfwd.h"
15
16namespace ROOT {
17
18namespace Minuit2 {
19
20class FCNGradientBase;
21class MnUserTransformation;
22
23
25
26public:
28 : fGradFunc(fcn), fTransformation(state)
29 {
30 }
31
33
34 FunctionGradient operator()(const MinimumParameters &) const override;
35
36 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
37
38 /// compute Hessian matrix
39 bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override;
40
41 /// compute second derivatives (diagonal of Hessian)
42 bool G2(const MinimumParameters &, MnAlgebraicVector &) const override;
43
44 virtual bool CheckGradient() const;
45
46 virtual bool CanComputeG2() const;
47
48 virtual bool CanComputeHessian() const;
49
50protected:
53};
54
55} // namespace Minuit2
56
57} // namespace ROOT
58
59#endif // ROOT_Minuit2_AnalyticalGradientCalculator
bool G2(const MinimumParameters &, MnAlgebraicVector &) const override
compute second derivatives (diagonal of Hessian)
AnalyticalGradientCalculator(const FCNGradientBase &fcn, const MnUserTransformation &state)
FunctionGradient operator()(const MinimumParameters &) const override
bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override
compute Hessian matrix
interface class for gradient calculators
Class describing a symmetric matrix of size n.
Definition LASymMatrix.h:45
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...