Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
SimplexParameters.cxx
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
11
12namespace ROOT {
13
14namespace Minuit2 {
15
17{
18 // update the SimplexParameter object with a new value y = FCN(p)
19 fSimplexParameters[Jh()] = std::pair<double, MnAlgebraicVector>(y, p);
20 if (y < fSimplexParameters[Jl()].first)
21 fJLow = Jh();
22
23 unsigned int jh = 0;
24 for (unsigned int i = 1; i < fSimplexParameters.size(); i++) {
25 if (fSimplexParameters[i].first > fSimplexParameters[jh].first)
26 jh = i;
27 }
28 fJHigh = jh;
29
30 return;
31}
32
34{
35 // find simplex direction (vector from big to smaller parameter points)
36 MnAlgebraicVector dirin(fSimplexParameters.size() - 1);
37 for (unsigned int i = 0; i < fSimplexParameters.size() - 1; i++) {
38 double pbig = fSimplexParameters[0].second(i), plit = pbig;
39 for (unsigned int j = 0; j < fSimplexParameters.size(); j++) {
40 if (fSimplexParameters[j].second(i) < plit)
41 plit = fSimplexParameters[j].second(i);
42 if (fSimplexParameters[j].second(i) > pbig)
43 pbig = fSimplexParameters[j].second(i);
44 }
45 dirin(i) = pbig - plit;
46 }
47
48 return dirin;
49}
50
51} // namespace Minuit2
52
53} // namespace ROOT
winID h TVirtualViewer3D TVirtualGLPainter p
MnAlgebraicVector Dirin() const
void Update(double, const MnAlgebraicVector &)
std::vector< std::pair< double, MnAlgebraicVector > > fSimplexParameters
Double_t y[n]
Definition legend1.C:17
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...