bnmf-algs
online_EM_defs.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "defs.hpp"
4 
5 namespace bnmf_algs {
6 namespace bld {
7 
13 template <typename T> struct EMResult {
14  public:
46 
47  public:
53  EMResult() = default;
54 
61  matrix_t<T> logW, matrix_t<T> logH, vector_t<T> EM_bound)
62  : S_pjk(std::move(S_pjk)), S_ipk(std::move(S_ipk)),
63  X_full(std::move(X_full)), logW(std::move(logW)),
64  logH(std::move(logH)), log_PS(std::move(log_PS)) {}
65 };
66 } // namespace bld
67 } // namespace bnmf_algs
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > matrix_t
Matrix type used in the computations.
Definition: defs.hpp:41
Structure holding the results of EM procedures.
Definition: online_EM_defs.hpp:13
matrix_t< double > logH
Matrix whose entry contains .
Definition: online_EM_defs.hpp:41
matrix_t< T > X_full
Completed version of the incomplete matrix given as input to an EM algorithm.
Definition: online_EM_defs.hpp:33
matrix_t< T > S_ipk
Sum of the hidden tensor along its second dimension, i.e. .
Definition: online_EM_defs.hpp:24
EMResult()=default
Default constructor.
matrix_t< double > logW
Matrix whose entry contains .
Definition: online_EM_defs.hpp:37
matrix_t< T > S_pjk
Sum of the hidden tensor along its first dimension, i.e. .
Definition: online_EM_defs.hpp:19
vector_t< double > log_PS
Vector containing EM bound computed after every iteration.
Definition: online_EM_defs.hpp:45
Eigen::Matrix< Scalar, 1, Eigen::Dynamic, Eigen::RowMajor > vector_t
Vector type used in the computations.
Definition: defs.hpp:27
EMResult(matrix_t< T > S_pjk, matrix_t< T > S_ipk, matrix_t< T > X_full, matrix_t< T > logW, matrix_t< T > logH, vector_t< T > EM_bound)
Initialization constructor.
Definition: online_EM_defs.hpp:60
Main namespace for bnmf-algs library.
Definition: alloc_model_funcs.hpp:12