EoN.SIR_homogeneous_pairwise_from_graph

EoN.SIR_homogeneous_pairwise_from_graph(G, tau, gamma, initial_infecteds=None, initial_recovereds=None, rho=None, tmin=0, tmax=100, tcount=1001, return_full_data=False)[source]

Calls SIR_homogeneous_pairwise after calculating S0, I0, R0, SI0, SS0, n, based on the graph G and initial fraction infected rho.

Arguments:

G networkx Graph

the contact network

tau positive float

transmission rate

gamma number

recovery rate

initial infecteds node or iterable of nodes (default None)

if a single node, then this node is initially infected if an iterable, then whole set is initially infected if None, then choose randomly based on rho. If rho is also None, a random single node is chosen. If both initial_infecteds and rho are assigned, then there is an error.

initial_recovereds iterable of nodes (default None)

this whole collection is made recovered. Currently there is no test for consistency with initial_infecteds. Understood that everyone who isn’t infected or recovered initially is initially susceptible.

rho float between 0 and 1 (default None)

the fraction to be randomly infected at time 0 If None, then rho=1/N is used where N = G.order()

tmin number (default 0)

minimum report time

tmax number (default 100)

maximum report time

tcount integer (default 1001)

number of reports

return_full_data boolean (default False)

tells whether to just return times, S, I, R or all calculated data. if True, then returns times, S, I, R, SI, SS

Returns:

if return_full_data is True:

t, S, I, SI, SS, II

if return_full_data is False:

t, S, I

SAMPLE USE:

import networkx as nx
import EoN
G = nx.fast_gnp_random_graph(10000,0.0005)
tau = 1
gamma = 3
rho = 0.02
t, S, I, R = EoN.SIR_homogeneous_pairwise_from_graph(G, tau, gamma, rho,
                                                        tmax = 20)