54 assert(fgc !=
nullptr);
56 MnPrint print(
"FumiliErrorUpdator");
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);
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...
const MnAlgebraicSymMatrix & GetHessian() const
interface class for gradient calculators
Class describing a symmetric matrix of size n.
unsigned int size() const
MinimumError keeps the inv.
const MnAlgebraicVector & Vec() const
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...