56 MnPrint print(
"FumiliErrorUpdator");
62 int nvar =
p1.Vec().size();
65 double eps = 8 * std::numeric_limits<double>::min();
66 for (
int j = 0;
j < nvar;
j++) {
67 h(
j,
j) *= (1. + lambda);
69 if (std::fabs(
h(
j,
j)) < eps) {
72 h(
j,
j) = lambda * eps;
80 print.
Warn(
"inversion fails; return diagonal matrix");
82 for (
unsigned int i = 0; i <
h.Nrow(); i++) {
83 h(i, i) = 1. /
h(i, i);
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
virtual MinimumError Update(const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters, const GradientCalculator &fGradientCalculator, double lambda) const
Member function that calculates the Error matrix (or the Hessian matrix containing the (approximate) ...
Fumili gradient calculator using external gradient provided by FCN Note that the computed Hessian and...
interface class for gradient calculators
Class describing a symmetric matrix of size n.
MinimumError keeps the inv.
MinimumState keeps the information (position, Gradient, 2nd deriv, etc) after one minimization step (...
void Warn(const Ts &... args)
int Invert(LASymMatrix &)
double sum_of_elements(const LASymMatrix &)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...