LDA++
MStepInterface.hpp
1 #ifndef _LDAPLUSPLUS_EM_MSTEPINTERFACE_HPP_
2 #define _LDAPLUSPLUS_EM_MSTEPINTERFACE_HPP_
3 
4 #include <Eigen/Core>
5 
6 #include "ldaplusplus/Document.hpp"
7 #include "ldaplusplus/events/Events.hpp"
8 #include "ldaplusplus/Parameters.hpp"
9 
10 namespace ldaplusplus {
11 namespace em {
12 
13 
23 template <typename Scalar>
25 {
26  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> MatrixX;
27  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> VectorX;
28 
29  public:
30 
38  virtual void m_step(
39  std::shared_ptr<parameters::Parameters> parameters
40  )=0;
41 
57  virtual void doc_m_step(
58  const std::shared_ptr<corpus::Document> doc,
59  const std::shared_ptr<parameters::Parameters> v_parameters,
60  std::shared_ptr<parameters::Parameters> m_parameters
61  )=0;
62 
63  virtual ~MStepInterface(){};
64 };
65 
66 } // namespace em
67 } // namespace ldaplusplus
68 
69 #endif // _LDAPLUSPLUS_EM_MSTEPINTERFACE_HPP_
Definition: MStepInterface.hpp:24
virtual void m_step(std::shared_ptr< parameters::Parameters > parameters)=0
virtual void doc_m_step(const std::shared_ptr< corpus::Document > doc, const std::shared_ptr< parameters::Parameters > v_parameters, std::shared_ptr< parameters::Parameters > m_parameters)=0
Definition: Document.hpp:11