def test_stochastic(self): ode = SimulateOde(self.states, self.params, birth_death=self.birth_deaths, transition=self.transitions) ode.parameters = self.param_eval ode.initial_values = (self.x0, self.t[0]) _simX, _simT = ode.simulate_jump(self.t, 5, parallel=False, full_output=True)
params = ['beta', 'gamma', 'N'] transitions = [Transition(origin='S', destination='I', equation='beta*S*I/N', transition_type=TransitionType.T), Transition(origin='I', destination='R', equation='gamma*I', transition_type=TransitionType.T)] # initial conditions N = 7781984.0 in_inf = round(0.0000001*N) init_state = [N - in_inf, in_inf, 0.0] # # # time max_t = 9 # 50 t = np.linspace (0 , max_t , 101) # # # deterministic parameter values param_evals = [('beta', 3.6), ('gamma', 0.2), ('N', N)] # construct model model_j = SimulateOde(states, params, transition=transitions) model_j.parameters = param_evals model_j.initial_values = (init_state, t[0]) # run 10 simulations start = time.time() simX, simT = model_j.simulate_jump(t[1::], iteration=10, full_output=True) end = time.time() logging.info('Simulation took {} seconds'.format(end - start))