N=200
gamma = 1


k = N-1.
tau_c = gamma/k
rho = 0.1

for tau, label in zip([0.9*tau_c, tau_c, 1.2*tau_c, 1.5*tau_c],['a', 'b', 'c', 'd']):
    plt.clf()
    t, S, I = complete_graph_lumped(N, int(N*rho), 0 , 20, 1001)
    plt.plot(t, I)
    
    S0 = (1-rho)*N
    I0 = rho*N
    
    t, S, I = EoN.SIS_homogeneous_meanfield(S0, I0, k, tau, gamma, tmin=0, tmax=20, 
                                tcount=1001)
    plt.plot(t, I, '--')
    S0 = (1-rho)*N
    I0 = rho*N
    SI0 = (1-rho)*N*k*rho
    SS0 = (1-rho)*N*k*(1-rho)
    t, S, I = EoN.SIS_homogeneous_pairwise(S0, I0, SI0, SS0, k, tau, gamma, tmin = 0, 
                                tmax=20, tcount=1001)
    plt.plot(t, I, ':')
    plt.xlabel('$t$')
    plt.ylabel('Prevalence')
    plt.savefig('fig4p5{}.png'.format(label))
    
Example #2
0
        if sum(sequence) % 2 == 0:
            break
    return sequence


graph_function = lambda: nx.configuration_model(generate_sequence(Pk, N))
simulate_process(graph_function, iterations, tmax, tcount, rho, kave, tau,
                 gamma, symbol)

symbol = '--'
S0 = (1 - rho) * N
I0 = rho * N
t, S, I = EoN.SIS_homogeneous_meanfield(S0,
                                        I0,
                                        kave,
                                        tau,
                                        gamma,
                                        tmax=tmax,
                                        tcount=tcount)
plt.plot(t, I / N, symbol)

symbol = '-'
S0 = (1 - rho) * N
I0 = rho * N
SI0 = (1 - rho) * N * kave * rho
SS0 = (1 - rho) * N * kave * (1 - rho)
t, S, I = EoN.SIS_homogeneous_pairwise(S0,
                                       I0,
                                       SI0,
                                       SS0,
                                       kave,