OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Simplex.h
Go to the documentation of this file.
1 #ifndef OPAL_Simplex_HH
2 #define OPAL_Simplex_HH 1
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: Simplex.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: Simplex
13 //
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:33:44 $
17 // $Author: Andreas Adelmann $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "AbstractObjects/Action.h"
22 #include "Algebra/Array1D.h"
23 #include "Match/MatchState.h"
24 
25 template <class T> class Vector;
26 
27 
28 // Class Simplex
29 // ------------------------------------------------------------------------
31 // This class encapsulates a minimisation according to the SIMPLEX method
32 // taken from the MINUIT package.
33 
34 class Simplex: public Action {
35 
36 public:
37 
39  Simplex();
40 
41  virtual ~Simplex();
42 
44  virtual Simplex *clone(const std::string &name);
45 
47  virtual void execute();
48 
49 private:
50 
51  // Not implemented.
52  Simplex(const Simplex &);
53  void operator=(const Simplex &);
54 
55  // Clone constructor.
56  Simplex(const std::string &name, Simplex *parent);
57 
58  // Razzia routine from MINUIT.
59  void razzia(double Fnew, Vector<double> &Xnew);
60 
61  // The simplex used in the method, and the function values.
64 
65  // The current best and worst points in the simplex.
66  int jl, jh;
67 };
68 
69 #endif // OPAL_Simplex_HH
virtual void execute()
Execute the command.
Definition: Simplex.cpp:79
void razzia(double Fnew, Vector< double > &Xnew)
Definition: Simplex.cpp:299
Simplex()
Exemplar constructor.
Definition: Simplex.cpp:52
int jh
Definition: Simplex.h:66
The base class for all OPAL actions.
Definition: Action.h:30
virtual ~Simplex()
Definition: Simplex.cpp:70
void operator=(const Simplex &)
Array1D< double > Fsim
Definition: Simplex.h:63
Array1D< Vector< double > > Xsim
Definition: Simplex.h:62
int jl
Definition: Simplex.h:66
virtual Simplex * clone(const std::string &name)
Make clone.
Definition: Simplex.cpp:74
const std::string name
One-dimensional array.
Definition: Array1D.h:36
Vector.
The SIMPLEX command.
Definition: Simplex.h:34