def test_pykalman_predict(self): n_meas = np.random.randint(5) n_state = n_meas + np.random.randint(5) mu_state_past = rand_vec(n_state) var_state_past = rand_mat(n_state) mu_state = rand_vec(n_state) wgt_state = rand_mat(n_state, pd=False) var_state = rand_mat(n_state) mu_state_pred, var_state_pred = (pks._filter_predict( wgt_state, var_state, mu_state, mu_state_past, var_state_past)) ktv = KalmanTV(n_meas, n_state) mu_state_pred2 = np.empty(n_state) var_state_pred2 = np.empty((n_state, n_state), order='F') ktv.predict(mu_state_pred2, var_state_pred2, mu_state_past, var_state_past, mu_state, wgt_state, var_state) self.assertAlmostEqual(rel_err(mu_state_pred, mu_state_pred2), 0.0) self.assertAlmostEqual(rel_err(var_state_pred, var_state_pred2), 0.0)
def test_predict(self): n_meas = np.random.randint(5) n_state = n_meas + np.random.randint(5) mu_state_past = rand_vec(n_state) var_state_past = rand_mat(n_state) mu_state = rand_vec(n_state) wgt_state = rand_mat(n_state, pd=False) var_state = rand_mat(n_state) # pure python KFS = KTV_py(n_meas, n_state) mu_state_pred, var_state_pred = KFS.predict(mu_state_past, var_state_past, mu_state, wgt_state, var_state) # cython ktv = KalmanTV(n_meas, n_state) mu_state_pred2 = np.empty(n_state) var_state_pred2 = np.empty((n_state, n_state), order='F') ktv.predict(mu_state_pred2, var_state_pred2, mu_state_past, var_state_past, mu_state, wgt_state, var_state) self.assertAlmostEqual(rel_err(mu_state_pred, mu_state_pred2), 0.0) self.assertAlmostEqual(rel_err(var_state_pred, var_state_pred2), 0.0)