Kurtz's law of large numbers for SIR: the ODE side (CRN-2, helpers) #
For a solution x(t) = (s t, i t, r t) of the Kermack–McKendrick system on [0, ∞), given only as
an integral curve of sirField β γ (no IsSolution: the initial point is any point of the
simplex):
- the simplex is invariant:
s, i, r ≥ 0ands + i + r = 1on[0, ∞)(first integrals exp((β/γ) r)fors, integrating factori exp(-∫ (β s - γ))fori, monotonicity forr), so‖x(t)‖ ≤ 1in the sup norm ofℝ × ℝ × ℝ; - on the unit ball,
sirField β γis(2β + γ)-Lipschitz and bounded byβ + γ; - the Euler step error
‖x(t+h) - x(t) - h F(x(t))‖ ≤ (2β + γ)(β + γ) h²(mean value inequality).
Components of an integral curve #
theorem
Epidemics.Kurtz.sir_hasDerivWithinAt_r
{β γ : ℝ}
{s i r : ℝ → ℝ}
(hx : IsIntegralCurveOn (fun (t : ℝ) => (s t, i t, r t)) (fun (x : ℝ) => KermackMcKendrick.sirField β γ) (Set.Ici 0))
{t : ℝ}
(ht : 0 ≤ t)
:
HasDerivWithinAt r (γ * i t) (Set.Ici 0) t
theorem
Epidemics.Kurtz.sir_s_mul_exp
{β γ : ℝ}
{s i r : ℝ → ℝ}
(hx : IsIntegralCurveOn (fun (t : ℝ) => (s t, i t, r t)) (fun (x : ℝ) => KermackMcKendrick.sirField β γ) (Set.Ici 0))
(hγ : γ ≠ 0)
{t : ℝ}
(ht : 0 ≤ t)
:
The first integral s · exp((β/γ) r) is constant on [0, ∞) (Kermack–McKendrick 1927).
theorem
Epidemics.Kurtz.sir_i_nonneg
{β γ : ℝ}
{s i r : ℝ → ℝ}
(hx : IsIntegralCurveOn (fun (t : ℝ) => (s t, i t, r t)) (fun (x : ℝ) => KermackMcKendrick.sirField β γ) (Set.Ici 0))
(hi : 0 ≤ i 0)
{t : ℝ}
(ht : 0 ≤ t)
:
i ≥ 0 on [0, ∞) if i 0 ≥ 0: with G t = ∫₀ᵗ (β s - γ) (for s extended by s 0 to
negative times), i · exp(-G) is constant.
theorem
Epidemics.Kurtz.sir_norm_le_one
{β γ : ℝ}
{s i r : ℝ → ℝ}
(hx : IsIntegralCurveOn (fun (t : ℝ) => (s t, i t, r t)) (fun (x : ℝ) => KermackMcKendrick.sirField β γ) (Set.Ici 0))
(hγ : 0 < γ)
(hs : 0 ≤ s 0)
(hi : 0 ≤ i 0)
(hr : 0 ≤ r 0)
(hsum : s 0 + i 0 + r 0 = 1)
{t : ℝ}
(ht : 0 ≤ t)
:
Invariance of the simplex: a solution started in the simplex stays in the sup-norm unit
ball (indeed in the simplex) on [0, ∞).
The field on the unit ball #
Euler step error #
theorem
Epidemics.Kurtz.sir_euler_le
{β γ : ℝ}
{s i r : ℝ → ℝ}
(hx : IsIntegralCurveOn (fun (t : ℝ) => (s t, i t, r t)) (fun (x : ℝ) => KermackMcKendrick.sirField β γ) (Set.Ici 0))
(hβ : 0 ≤ β)
(hγ : 0 ≤ γ)
{t h : ℝ}
(ht : 0 ≤ t)
(hh : 0 ≤ h)
(hball : ∀ u ∈ Set.Icc t (t + h), ‖(s u, i u, r u)‖ ≤ 1)
:
Euler step error. If the solution stays in the unit ball on [t, t + h], then
‖x(t + h) - x(t) - h F(x(t))‖ ≤ (2β + γ)(β + γ) h².