Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
FumiliGradientCalculator.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_FumiliGradientCalculator
11#define ROOT_Minuit2_FumiliGradientCalculator
12
14#include "Minuit2/MnMatrix.h"
15
16namespace ROOT {
17
18namespace Minuit2 {
19
20class FumiliFCNBase;
21class MnUserTransformation;
22
23/// Fumili gradient calculator using external gradient provided by FCN
24/// Note that the computed Hessian and G2 are an approximation valid for small residuals
26
27public:
28 FumiliGradientCalculator(const FumiliFCNBase &fcn, const MnUserTransformation &trafo, int n);
29
31
32 FunctionGradient operator()(const MinimumParameters &) const override;
33
34 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
35
36 const MnUserTransformation &Trafo() const { return fTransformation; }
37
38 const MnAlgebraicSymMatrix &GetHessian() const { return fHessian; }
39
40 bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override;
41
42 bool G2(const MinimumParameters &, MnAlgebraicVector &) const override;
43
44 bool CanComputeG2() const override { return true;}
45
46 bool CanComputeHessian() const override { return true;}
47
48
49private:
52};
53
54} // namespace Minuit2
55
56} // namespace ROOT
57
58#endif // ROOT_Minuit2_FumiliGradientCalculator
Extension of the FCNBase for the Fumili method.
Fumili gradient calculator using external gradient provided by FCN Note that the computed Hessian and...
const MnAlgebraicSymMatrix & GetHessian() const
bool G2(const MinimumParameters &, MnAlgebraicVector &) const override
compute second derivatives (diagonal of Hessian)
const MnUserTransformation & Trafo() const
FunctionGradient operator()(const MinimumParameters &) const override
bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override
compute Hessian matrix
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...
const Int_t n
Definition legend1.C:16
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...