Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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:
29
30 FunctionGradient operator()(const MinimumParameters &) const override;
31
32 FunctionGradient operator()(const MinimumParameters &, const FunctionGradient &) const override;
33
34 const MnUserTransformation &Trafo() const { return fTransformation; }
35
36 const MnAlgebraicSymMatrix &GetHessian() const { return fHessian; }
37
38 bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override;
39
40 bool G2(const MinimumParameters &, MnAlgebraicVector &) const override;
41
42 bool CanComputeG2() const override { return true;}
43
44 bool CanComputeHessian() const override { return true;}
45
46
47private:
50};
51
52} // namespace Minuit2
53
54} // namespace ROOT
55
56#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)
FumiliGradientCalculator(const FumiliFCNBase &fcn, const MnUserTransformation &trafo, int n)
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 MnMatrix.h:438
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...