Logo ROOT   6.10/09
Reference Guide
MnLineSearch.h
Go to the documentation of this file.
1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7  * *
8  **********************************************************************/
9 
10 #ifndef ROOT_Minuit2_MnLineSearch
11 #define ROOT_Minuit2_MnLineSearch
12 
13 #include "Minuit2/MnMatrix.h"
14 
15 namespace ROOT {
16 
17  namespace Minuit2 {
18 
19 
20 class MnFcn;
21 class MinimumParameters;
22 class MnMachinePrecision;
23 class MnParabolaPoint;
24 
25 
26 
27 
28 /**
29 
30 Implements a 1-dimensional minimization along a given direction
31 (i.e. quadratic interpolation) It is independent of the algorithm
32 that generates the direction vector. It brackets the 1-dimensional
33 Minimum and iterates to approach the real Minimum of the n-dimensional
34 function.
35 
36 
37 @author Fred James and Matthias Winkler; comments added by Andras Zsenei
38 and Lorenzo Moneta
39 
40 @ingroup Minuit
41 
42 */
43 
44 
45 
46 
47 class MnLineSearch {
48 
49 public:
50 
52 
54 
55  MnParabolaPoint operator()(const MnFcn&, const MinimumParameters&, const MnAlgebraicVector&, double, const MnMachinePrecision&, bool debug = false) const;
56 
57 #ifdef USE_OTHER_LS
58  MnParabolaPoint CubicSearch(const MnFcn&, const MinimumParameters&, const MnAlgebraicVector&, double, double, const MnMachinePrecision&, bool debug = false) const;
59 
60  MnParabolaPoint BrentSearch(const MnFcn&, const MinimumParameters&, const MnAlgebraicVector&, double, double, const MnMachinePrecision&, bool debug = false) const;
61 #endif
62 
63 private:
64 
65 };
66 
67  } // namespace Minuit2
68 
69 } // namespace ROOT
70 
71 #endif // ROOT_Minuit2_MnLineSearch
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
determines the relative floating point arithmetic precision.
A point of a parabola.
Wrapper class to FCNBase interface used internally by Minuit.
Definition: MnFcn.h:33
bool debug
Implements a 1-dimensional minimization along a given direction (i.e.
Definition: MnLineSearch.h:47
MnParabolaPoint operator()(const MnFcn &, const MinimumParameters &, const MnAlgebraicVector &, double, const MnMachinePrecision &, bool debug=false) const
Perform a line search from position defined by the vector st along the direction step, where the length of vector step gives the expected position of Minimum.