35   MnPrint print(
"NegativeG2LineSearch");
 
   41   print.
Info(
"Doing a NegativeG2LineSearch since one of the G2 component is negative");
 
   43   unsigned int n = 
st.Parameters().Vec().size();
 
   47   unsigned int iter = 0;
 
   53      print.
Error(
"Input gradient to NG2LS must have G2 already computed");
 
   59      for (
unsigned int i = 0; i < 
n; i++) {
 
   61         if (
dgrad.G2()(i) <= 0) {
 
   75            if (
dgrad.Vec()(i) < 0)
 
   85            print.
Debug(
"Iter", iter, 
"param", i, 
pa.Vec()(i), 
"grad2", 
dgrad.G2()(i), 
"grad",
 
   86                        dgrad.Vec()(i), 
"grad step", step(i), 
" gdel ", 
gdel);
 
   90            print.
Debug(
"Line search result", pp.
X(), 
"f(0)", 
pa.Fval(), 
"f(1)", pp.
Y());
 
   99               print.
Debug(
"Compute  G2 at the new point", 
pa.Vec());
 
  103                  print.
Error(
"Cannot compute G2");
 
  111            print.
Debug(
"New result after Line search - iter", iter, 
"param", i, 
pa.Vec()(i), 
"step", step(i), 
"new grad2",
 
  118   } 
while (iter++ < 2 * 
n && 
iterate);
 
  121   print.
Debug(
"Approximate new covariance after NegativeG2LS using only G2");
 
  123   for (
unsigned int i = 0; i < 
n; i++) {
 
 
  142   for (
unsigned int i = 0; i < grad.
Vec().
size(); i++)
 
  144      if (grad.
G2()(i) <= 0) {
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
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 MnAlgebraicVector & Vec() const
 
const MnAlgebraicVector & G2() const
 
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 (...
 
Wrapper class to FCNBase interface used internally by Minuit.
 
Implements a 1-dimensional minimization along a given direction (i.e.
 
Sets the relative floating point (double) arithmetic precision.
 
double Y() const
Accessor to the y (second) coordinate.
 
double X() const
Accessor to the x (first) coordinate.
 
void Debug(const Ts &... args)
 
void Error(const Ts &... args)
 
void Info(const Ts &... args)
 
bool HasNegativeG2(const FunctionGradient &, const MnMachinePrecision &) const
 
MinimumState operator()(const MnFcn &, const MinimumState &, const GradientCalculator &, const MnMachinePrecision &) const
 
double Estimate(const FunctionGradient &, const MinimumError &) const
 
int iterate(rng_state_t *X)
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...