LDA++
EStepInterface.hpp
1 #ifndef _LDAPLUSPLUS_EM_ESTEPINTERFACE_HPP_
2 #define _LDAPLUSPLUS_EM_ESTEPINTERFACE_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 
41  virtual std::shared_ptr<parameters::Parameters> doc_e_step(
42  const std::shared_ptr<corpus::Document> doc,
43  const std::shared_ptr<parameters::Parameters> parameters
44  )=0;
45 
51  virtual void e_step()=0;
52 
53  virtual ~EStepInterface(){};
54 };
55 
56 } // namespace em
57 } // namespace ldaplusplus
58 
59 #endif // _LDAPLUSPLUS_EM_ESTEPINTERFACE_HPP_
virtual std::shared_ptr< parameters::Parameters > doc_e_step(const std::shared_ptr< corpus::Document > doc, const std::shared_ptr< parameters::Parameters > parameters)=0
Definition: EStepInterface.hpp:24
Definition: Document.hpp:11