37   MnPrint print(
"NegativeG2LineSearch");
 
   46   print.
Info(
"Doing a NegativeG2LineSearch since one of the G2 component is negative");
 
   48   unsigned int n = 
st.Parameters().Vec().size();
 
   52   unsigned int iter = 0;
 
   58      print.
Error(
"Input gradient to NG2LS must have G2 already computed");
 
   64      for (
unsigned int i = 0; i < 
n; i++) {
 
   66         if (
dgrad.G2()(i) <= 0) {
 
   80            if (
dgrad.Vec()(i) < 0)
 
   90            print.
Debug(
"Iter", iter, 
"param", i, 
pa.Vec()(i), 
"grad2", 
dgrad.G2()(i), 
"grad",
 
   91                        dgrad.Vec()(i), 
"grad step", step(i), 
" gdel ", 
gdel);
 
   95            print.
Debug(
"Line search result", pp.
X(), 
"f(0)", 
pa.Fval(), 
"f(1)", pp.
Y());
 
  102            if (!
dgrad.HasG2()) {
 
  104               print.
Debug(
"Compute  G2 at the new point", 
pa.Vec());
 
  108                  print.
Error(
"Cannot compute G2");
 
  116            print.
Debug(
"New result after Line search - iter", iter, 
"param", i, 
pa.Vec()(i), 
"step", step(i), 
"new grad2",
 
  123   } 
while (iter++ < 2 * 
n && 
iterate);
 
  126   print.
Debug(
"Approximate new covariance after NegativeG2LS using only G2");
 
  128   for (
unsigned int i = 0; i < 
n; i++) {
 
 
  147   for (
unsigned int i = 0; i < grad.
Vec().
size(); i++)
 
  149      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...