Global existence for continuous, uniformly globally Lipschitz ODE fields.
def
AVenhance.Infra.Flow.GlobalExistence.extendCurve
{E : Type u_1}
[NormedAddCommGroup E]
{a b : ℝ}
(hab : a ≤ b)
(u : C(↑(Set.Icc a b), E))
:
ℝ → E
Extend an interval-valued continuous curve constantly past its endpoints.
Equations
- AVenhance.Infra.Flow.GlobalExistence.extendCurve hab u t = u (AVenhance.Infra.Flow.GlobalExistence.clampPoint a b hab t)
Instances For
theorem
AVenhance.Infra.Flow.GlobalExistence.continuous_extendCurve
{E : Type u_1}
[NormedAddCommGroup E]
{a b : ℝ}
(hab : a ≤ b)
(u : C(↑(Set.Icc a b), E))
:
Continuous (extendCurve hab u)
def
AVenhance.Infra.Flow.GlobalExistence.curveRhs
{E : Type u_1}
[NormedAddCommGroup E]
(b : ℝ → E → E)
{a d : ℝ}
(had : a ≤ d)
(u : C(↑(Set.Icc a d), E))
(t : ℝ)
:
E
Evaluate the vector field along the clamped extension of a curve.
Equations
- AVenhance.Infra.Flow.GlobalExistence.curveRhs b had u t = b t (AVenhance.Infra.Flow.GlobalExistence.extendCurve had u t)
Instances For
theorem
AVenhance.Infra.Flow.GlobalExistence.continuous_curveRhs
{E : Type u_1}
[NormedAddCommGroup E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
(u : C(↑(Set.Icc a d), E))
:
Continuous (curveRhs b had u)
noncomputable def
AVenhance.Infra.Flow.GlobalExistence.volterra
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
(s : ℝ)
(x : E)
:
Volterra integral operator for the initial-value problem on a compact interval.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
AVenhance.Infra.Flow.GlobalExistence.volterra_apply
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
(s : ℝ)
(x : E)
(u : C(↑(Set.Icc a d), E))
(t : ↑(Set.Icc a d))
:
theorem
AVenhance.Infra.Flow.GlobalExistence.dist_volterra_rhs_le
{E : Type u_1}
[NormedAddCommGroup E]
(b : ℝ → E → E)
{a d : ℝ}
(had : a ≤ d)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(u v : C(↑(Set.Icc a d), E))
(t : ↑(Set.Icc a d))
:
theorem
AVenhance.Infra.Flow.GlobalExistence.dist_iterate_volterra_apply_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
{s : ℝ}
(hs : s ∈ Set.Icc a d)
(x : E)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(u v : C(↑(Set.Icc a d), E))
(n : ℕ)
(t : ↑(Set.Icc a d))
:
theorem
AVenhance.Infra.Flow.GlobalExistence.dist_iterate_volterra_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
{s : ℝ}
(hs : s ∈ Set.Icc a d)
(x : E)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(u v : C(↑(Set.Icc a d), E))
(n : ℕ)
:
theorem
AVenhance.Infra.Flow.GlobalExistence.exists_contracting_volterra_iterate
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{a d : ℝ}
(had : a ≤ d)
{s : ℝ}
(hs : s ∈ Set.Icc a d)
(x : E)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
:
theorem
AVenhance.Infra.Flow.GlobalExistence.exists_finite_integralCurve
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
(n : ℕ)
:
∃ (γ : ℝ → E), Continuous γ ∧ γ s = x ∧ ∀ t ∈ Set.Ioo (s - ↑n) (s + ↑n), HasDerivAt γ (b t (γ t)) t
noncomputable def
AVenhance.Infra.Flow.GlobalExistence.finiteCurve
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
(n : ℕ)
:
ℝ → E
Integral curve constructed on a finite time window about the starting time.
Equations
- AVenhance.Infra.Flow.GlobalExistence.finiteCurve b hb hLip s x n = Classical.choose ⋯
Instances For
theorem
AVenhance.Infra.Flow.GlobalExistence.finiteCurve_spec
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
(n : ℕ)
:
Continuous (finiteCurve b hb hLip s x n) ∧ finiteCurve b hb hLip s x n s = x ∧ ∀ t ∈ Set.Ioo (s - ↑n) (s + ↑n), HasDerivAt (finiteCurve b hb hLip s x n) (b t (finiteCurve b hb hLip s x n t)) t
theorem
AVenhance.Infra.Flow.GlobalExistence.finiteCurves_eqOn_overlap
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
(n m : ℕ)
(hn : 0 < n)
(hm : 0 < m)
:
Set.EqOn (finiteCurve b hb hLip s x n) (finiteCurve b hb hLip s x m) (Set.Icc (s - ↑(min n m)) (s + ↑(min n m)))
Least natural radius strictly greater than the elapsed time.
Equations
Instances For
noncomputable def
AVenhance.Infra.Flow.GlobalExistence.globalIntegralCurve
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
:
ℝ → E
Global integral curve obtained from compatible finite-window constructions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
AVenhance.Infra.Flow.GlobalExistence.globalIntegralCurve_initial
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
:
theorem
AVenhance.Infra.Flow.GlobalExistence.globalIntegralCurve_hasDerivAt
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
{K : NNReal}
(hLip : ∀ (t : ℝ), LipschitzWith K (b t))
(s : ℝ)
(x : E)
(t : ℝ)
:
HasDerivAt (globalIntegralCurve b hb hLip s x) (b t (globalIntegralCurve b hb hLip s x t)) t
theorem
AVenhance.Infra.Flow.existsUnique_flowOn_uniform
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
[CompleteSpace E]
(b : ℝ → E → E)
(hb : Continuous fun (p : ℝ × E) => b p.1 p.2)
(hLip : ∃ (K : NNReal), ∀ (t : ℝ), LipschitzWith K (b t))
:
Every continuous uniformly globally Lipschitz vector field on a complete normed state space has a unique characterized global flow.
theorem
AVenhance.Infra.Flow.existsUnique_flow
(b : ℝ → Homogenization.Vec 2 → Homogenization.Vec 2)
(hb : Continuous fun (p : ℝ × Homogenization.Vec 2) => b p.1 p.2)
(hL : ∃ (L : ℝ), ∀ (t : ℝ) (x y : Homogenization.Vec 2), ‖b t x - b t y‖ ≤ L * ‖x - y‖)
:
Every continuous vector field with a uniform global spatial Lipschitz bound has a unique global flow.