42 int nvar = par.
Vec().size();
58 std::vector<double>
deriv(nvar);
59 std::vector<unsigned int>
extIndex(nvar);
60 for (
int i = 0; i < nvar; ++i) {
68 for (
int j = 0;
j <= i; ++
j) {
73 MnPrint print(
"FumiliGradientCalculator");
74 print.
Debug([&](std::ostream &os) {
79 os <<
"Fumili Gradient:" <<
v <<
"\nMinuit Gradient" <<
grd2.Vec();
80 os <<
"\nFumili Hessian: " <<
h << std::endl;
81 os <<
"Numerical g2 " <<
grd2.G2() << std::endl;
102 unsigned int n = par.
Vec().size();
107 for (
unsigned int i = 0; i <
n ; i++) {
115 unsigned int n = par.
Vec().size();
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void gc
const MnUserTransformation & fTransformation
Extension of the FCNBase for the Fumili method.
bool G2(const MinimumParameters &, MnAlgebraicVector &) const override
compute second derivatives (diagonal of Hessian)
MnAlgebraicSymMatrix fHessian
FumiliGradientCalculator(const FumiliFCNBase &fcn, const MnUserTransformation &trafo, int n)
FunctionGradient operator()(const MinimumParameters &) const override
bool Hessian(const MinimumParameters &, MnAlgebraicSymMatrix &) const override
compute Hessian matrix
const FumiliFCNBase & fFcn
Class describing a symmetric matrix of size n.
unsigned int Nrow() const
const MnAlgebraicVector & Vec() const
void Debug(const Ts &... args)
static int SetGlobalLevel(int level)
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Wrapper used by Minuit of FCN interface containing a reference to the transformation object.
class performing the numerical gradient calculation
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...