21double similarity(
const LAVector &, 
const LASymMatrix &);
 
   33   MnPrint print(
"DavidonErrorUpdator");
 
   45      print.
Warn(
"delgam = 0 : cannot update - return same matrix (details in info log)");
 
   46      print.
Info(
"Explanation:\n" 
   47                 "   The distance from the minimum cannot be estimated, since at two\n" 
   48                 "   different points s0 and p1, the function gradient projected onto\n" 
   49                 "   the difference of s0 and p1 is zero, where:\n" 
   50                 " * s0: ", 
s0.Vec(), 
"\n" 
   51                 " * p1: ", 
p1.Vec(), 
"\n" 
   52                 " * gradient at s0: ", 
s0.Gradient().Vec(), 
"\n" 
   53                 " * gradient at p1: ", 
g1.Vec(), 
"\n" 
   54                 "   To understand whether this hints to an issue in the minimized function,\n" 
   55                 "   the minimized function can be plotted along points between s0 and p1 to\n" 
   56                 "   look for unexpected behavior.");
 
   61      print.
Warn(
"delgam < 0 : first derivatives increasing along search line (details in info log)");
 
   62      print.
Info(
"Explanation:\n" 
   63                 "   The distance from the minimum cannot be estimated, since the minimized\n" 
   64                 "   function seems not to be strictly convex in the space probed by the fit.\n" 
   65                 "   That is expected if the starting parameters are e.g. close to a local maximum\n" 
   66                 "   of the minimized function. If this function is expected to be fully convex\n" 
   67                 "   in the probed range or Minuit is already close to the function minimum, this\n" 
   68                 "   may hint to numerical or analytical issues with the minimized function.\n" 
   69                 "   This was found by projecting the difference of gradients at two points, s0 and p1,\n" 
   70                 "   onto the direction given by the difference of s0 and p1, where:\n" 
   71                 " * s0: ", 
s0.Vec(), 
"\n" 
   72                 " * p1: ", 
p1.Vec(), 
"\n" 
   73                 " * gradient at s0: ", 
s0.Gradient().Vec(), 
"\n" 
   74                 " * gradient at p1: ", 
g1.Vec(), 
"\n" 
   75                 "   To understand whether this hints to an issue in the minimized function,\n" 
   76                 "   the minimized function can be plotted along points between s0 and p1 to\n" 
   77                 "   look for unexpected behavior.");
 
   82      print.
Warn(
"gvg <= 0 : cannot update - return same matrix");
 
   94      print.
Debug(
"delgam<gvg : use dual (BFGS)  formula");
 
   97    print.
Debug(
"delgam<gvg : use rank 2 Davidon formula");
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
MinimumError Update(const MinimumState &, const MinimumParameters &, const FunctionGradient &) const override
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 Debug(const Ts &... args)
void Info(const Ts &... args)
void Warn(const Ts &... args)
ABObj< sym, VectorOuterProduct< ABObj< vec, LAVector, double >, double >, double > Outer_product(const ABObj< vec, LAVector, double > &obj)
LAPACK Algebra function specialize the Outer_product function for LAVector;.
LAVector MnAlgebraicVector
double sum_of_elements(const LASymMatrix &)
double similarity(const LAVector &, const LASymMatrix &)
double inner_product(const LAVector &, const LAVector &)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...