Documentation

LeanPool.NavierStokesAndEuler.Euler.BoundedLipschitzFlow

An actual global flow for a bounded, uniformly Lipschitz velocity #

Existence is the proved global Picard theorem in EulerPacketExistence. Uniqueness gives the two-time composition and inverse identities. The bounded velocity and Grönwall estimate will give joint continuity in both times and the initial point.

Data, collecting velocity, continuous, lipschitzConstant, lipschitz, speedBound, speed.

Instances For
    theorem EulerBoundedLipschitzFlow.Data.curve_exists {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s : ) (x : E) :
    ∃ (α : E), α s = x ∀ (t : ), HasDerivAt α (V.velocity t (α t)) t
    noncomputable def EulerBoundedLipschitzFlow.Data.flow {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s t : ) (x : E) :
    E

    Flow, given by (V.curve_exists s x).choose t.

    Equations
    Instances For
      @[simp]
      theorem EulerBoundedLipschitzFlow.Data.flow_initial {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s : ) (x : E) :
      V.flow s s x = x
      theorem EulerBoundedLipschitzFlow.Data.flow_hasDerivAt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s t : ) (x : E) :
      HasDerivAt (fun (r : ) => V.flow s r x) (V.velocity t (V.flow s t x)) t
      theorem EulerBoundedLipschitzFlow.Data.flow_unique {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s : ) (x : E) (α : E) ( : ∀ (t : ), HasDerivAt α (V.velocity t (α t)) t) (hαs : α s = x) :
      α = fun (t : ) => V.flow s t x
      theorem EulerBoundedLipschitzFlow.Data.flow_cocycle {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (r s t : ) (x : E) :
      V.flow s t (V.flow r s x) = V.flow r t x
      @[simp]
      theorem EulerBoundedLipschitzFlow.Data.flow_inverse {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s t : ) (x : E) :
      V.flow t s (V.flow s t x) = x
      theorem EulerBoundedLipschitzFlow.Data.trajectory_distance {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (V : Data E) (α β : E) ( : ∀ (t : ), HasDerivAt α (V.velocity t (α t)) t) ( : ∀ (t : ), HasDerivAt β (V.velocity t (β t)) t) (a b : ) :
      dist (α b) (β b) dist (α a) (β a) * Real.exp (V.lipschitzConstant * |b - a|)

      A two-sided Grönwall estimate for actual global trajectories.

      theorem EulerBoundedLipschitzFlow.Data.flow_distance_initial {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (V : Data E) (s t : ) (x y : E) :
      dist (V.flow s t x) (V.flow s t y) dist x y * Real.exp (V.lipschitzConstant * |t - s|)