ssmkit  master-68aed98
linear_gaussian.hpp
Go to the documentation of this file.
1 #ifndef SSMPACK_MODEL_LINEAR_GAUSSIAN_HPP
2 #define SSMPACK_MODEL_LINEAR_GAUSSIAN_HPP
3 
4 #include <armadillo>
5 
6 namespace ssmkit {
7 namespace map {
8 
9 struct LinearGaussian {
10  using TParameter = std::tuple<arma::vec, arma::mat>;
11  using TConditionVAR = arma::vec;
12 
13  LinearGaussian(arma::mat trans, arma::mat cov) : transfer{trans},
14  covariance{cov} {}
15 // should not be overloaded, should not be template
17  return std::make_tuple(transfer * x, covariance);
18  }
19 
20  arma::mat transfer;
21  arma::mat covariance;
22 };
23 
24 } // namespace map
25 } // namespace ssmkit
26 
27 #endif //SSMPACK_MODEL_LINEAR_GAUSSIAN_HPP
std::tuple< arma::vec, arma::mat > TParameter
LinearGaussian(arma::mat trans, arma::mat cov)
TParameter operator()(const TConditionVAR &x) const