Base class for the simulation of an SIS compartmental infection model on a temporal network. Pass this to
tacoma.api.gillespie_epidemics()to simulate and retrieve the simulation results. This simulation runs until all initially infected nodes recovered at least once, which is useful to find the epidemic threshold by measuring the impact of the seed(s). If you want to sample the standard observables, set
__init__(self: _tacoma.cluster_size_SIS, N: int, t_simulation: float, infection_rate: float, recovery_rate: float, number_of_initially_infected: int = 1, number_of_initially_vaccinated: int = 0, sampling_dt: float = -1.0, seed: int = 0, save_infection_events: bool = False, verbose: bool = False) → None¶
- N (int) – Number of nodes in the temporal network.
- t_simulation (float) – Maximum time for the simulation to run. Can possibly be greater than the maximum time of the temporal network in which case the temporal network is looped.
- infection_rate (float) – Infection rate per \(SI\)-link (expected number of reaction events \(SI\rightarrow II\) for a single \(SI\)-link per dimension of time).
- recovery_rate (float) – Recovery rate per infected (expected number of reaction events \(I\rightarrow S\) for a single infected node per dimension of time).
- number_of_initially_infected (int, default = 1) – Number of nodes which will be in the infected compartment at \(t = t_0\). Note that the default value 1 is not an ideal initial value as fluctuations may lead to a quick end of the simulation skewing the outcome. I generally recommend to use a number of the order of \(N/2\).
- number_of_initially_vaccinated (int, default = 0) – Number of nodes which will be in the recovered compartment at \(t = t_0\).
- sampling_dt (float, default = -1.0) – If it is negative, do not save any observables but the life time of the process.
If this is
>0.0, save observables roughly every sampling_dt instead of on every change. If it is 0.0, sample at every change.
- seed (int, default = 0) – Seed for RNG initialization. If this is 0, the seed will be initialized randomly.
- save_infection_events (bool, default = False) – If true, the edge along which each infection event occurs is saved in the variable infection_events.
- verbose (bool, default = False) – Be talkative.
__init__(self, N, t_simulation, …)
param N: Number of nodes in the temporal network.
A list containing the number of infected at time \(t\).
A list containing the basic reproduction number defined as \(R_0(t) = \eta\left\langle k \right\rangle(t) / \rho\) where \(\eta\) is the infection rate per link and \(\rho\) is the recovery rate per node.
A list containing the number of \(SI\)-links at time \(t\).
The number of nodes which are infected at the time when the simulation ends.
The total number of nodes which have been infected at least once when the simulation ends.
A list containing the edges along which each infection event took place, in the form (infection_source, susceptible).
The lifetime of the process.
The number of events happened during the process.
Absolute run time of the simulation.
A list containing the time points at which one or more of the observables changed.