10 #include <Eigen/Dense>
13 using namespace Eigen;
18 if (is_skipping() && (have_exogenous_model() && exogenous_model().is_skipping()))
20 prop_states = cur_states;
22 else if (!is_skipping() && (have_exogenous_model() && !exogenous_model().is_skipping()))
24 MatrixXd exogenous_state(cur_states.rows(), cur_states.cols());
26 exogenous_model().propagate(cur_states, exogenous_state);
28 prop_states = getStateTransitionMatrix() * cur_states + exogenous_state;
30 else if (!is_skipping())
32 prop_states = getStateTransitionMatrix() * cur_states;
34 else if (have_exogenous_model() && !exogenous_model().is_skipping())
36 exogenous_model().propagate(cur_states, prop_states);