C++ main module for mmsd Package  1.0
MATH_EigenFunction.h
Go to the documentation of this file.
1 #ifndef MATH_EigenFunction_H
2 #define MATH_EigenFunction_H
3 
4 
5 #include "MATH_StiefelFunction.h"
7 
20  SP_OBJECT(MATH_EigenFunction);
21  // ATTRIBUTES
22 
23 private:
24 
25  // the matrix A in the definition of the function
26  // F(x) = -0.5*Tr(X'*A*X);
27  SP::LAP_DoubleFullSymmetricMatrix mA;
28 
29 protected:
30  // METHODS
31 
32  // CONSTRUCTORS
33 
35  MATH_EigenFunction(void);
36 
37 
38 
39  // DESTRUCTORS
40 
41 
44  virtual ~MATH_EigenFunction(void);
45 
46 
47 public:
48 
49 
50  // NEW Method
51 
54  inline static SP::MATH_EigenFunction New() {
55  SP::MATH_EigenFunction p(new MATH_EigenFunction(),MATH_EigenFunction::Delete());
56  p->setThis(p);
57  return p;
58  }
59 
60 
61  // SET methods
62 
65  inline void setMatrix(SP::LAP_DoubleFullSymmetricMatrix m) {
66  mA=m;
67  }
68 public:
69 
70 
77 
78 
81  virtual tString toString() const;
82 
83 };
84 
85 
86 #endif
DEFINE_SVPTR(MATH_EigenFunction)
virtual ~MATH_EigenFunction(void)
destroy an EigenFunction Object.
Definition: MATH_EigenFunction.cpp:9
MATH_EigenFunction(void)
create a EigenFunction object
Definition: MATH_EigenFunction.cpp:4
static SP::MATH_EigenFunction New()
create an instance of eigen function class
Definition: MATH_EigenFunction.h:54
Definition: LAP_DoubleFullGeneralMatrix.h:30
virtual tString toString() const
to string
Definition: MATH_EigenFunction.cpp:13
This class describes Stiefel function to optimize.
Definition: MATH_StiefelFunction.h:20
#define tString
Definition: types.h:49
virtual tReal computeFunction(const LAP_DoubleFullGeneralMatrix &X, LAP_DoubleFullGeneralMatrix &G)
compute the function & derivatives
Definition: MATH_EigenFunction.cpp:19
DEFINE_SPTR(MATH_EigenFunction)
void setMatrix(SP::LAP_DoubleFullSymmetricMatrix m)
set the symmetric value to optimize
Definition: MATH_EigenFunction.h:65
This class describes Eigen function to optimize : -0.5*Tr(X'*A*X);.
Definition: MATH_EigenFunction.h:19
#define tReal
Definition: types.h:18
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106