ROOT   6.08/07 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
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
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.