Logo ROOT  
Reference Guide
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
14 namespace Minuit2 {
15
16
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) fJLow = Jh();
21
22 unsigned int jh = 0;
23 for(unsigned int i = 1; i < fSimplexParameters.size(); i++) {
25 }
26 fJHigh = jh;
27
28 return;
29}
30
32 // find simplex direction (vector from big to smaller parameter points)
33 MnAlgebraicVector dirin(fSimplexParameters.size() - 1);
34 for(unsigned int i = 0; i < fSimplexParameters.size() - 1; i++) {
35 double pbig = fSimplexParameters[0].second(i), plit = pbig;
36 for(unsigned int j = 0; j < fSimplexParameters.size(); j++){
37 if(fSimplexParameters[j].second(i) < plit) plit = fSimplexParameters[j].second(i);
38 if(fSimplexParameters[j].second(i) > pbig) pbig = fSimplexParameters[j].second(i);
39 }
40 dirin(i) = pbig - plit;
41 }
42
43 return dirin;
44}
45
46 } // namespace Minuit2
47
48} // namespace ROOT
MnAlgebraicVector Dirin() const
void Update(double, const MnAlgebraicVector &)
std::vector< std::pair< double, MnAlgebraicVector > > fSimplexParameters
Double_t y[n]
Definition: legend1.C:17
VSD Structures.
Definition: StringConv.hxx:21
static constexpr double second
Definition: first.py:1