Documentation

LeanPool.NavierStokesAndEuler.Euler.LinearDuhamelOperator

The actual bounded solution and Volterra inverse #

The Duhamel integral is a bounded linear map in the forcing and initial data. It gives a two-sided inverse for the continuous-path Volterra operator. This unweighted inverse is used only for qualitative parameter regularity; source quantitative estimates use the original relative propagator bound directly.

noncomputable def EulerLinearDuhamel.Evolution.forcingOperator {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) :
C((Set.Icc 0 T), E) →L[] C((Set.Icc 0 T), E)

The actual zero-initial-data forcing operator.

Equations
Instances For
    noncomputable def EulerLinearDuhamel.Evolution.initialOperator {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) :
    E →L[] C((Set.Icc 0 T), E)

    The actual homogeneous initial-data operator.

    Equations
    Instances For
      theorem EulerLinearDuhamel.Evolution.forcingOperator_eq {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (f : C((Set.Icc 0 T), E)) :

      The bounded forcing operator is exactly the Duhamel construction.

      theorem EulerLinearDuhamel.Evolution.solution_eq_operators {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (f : C((Set.Icc 0 T), E)) (a₀ : E) :

      Splitting the actual forced solution into its two bounded data maps.

      theorem EulerLinearDuhamel.Evolution.forcingOperator_profile_bound {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (f : C((Set.Icc 0 T), E)) (g : (Set.Icc 0 T)) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) (hg₀ : g 0, = 1) (C D : ) (hC : 0 C) (hU : ∀ (t s : (Set.Icc 0 T)), s tU.propagator t s C * g t / g s) (hf : ∀ (s : (Set.Icc 0 T)), f s D * g s) (t : (Set.Icc 0 T)) :
      (U.forcingOperator f) t C * g t * t * D

      The original relative propagator bound controls the actual forcing map.

      theorem EulerLinearDuhamel.Evolution.initialOperator_profile_bound {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (a₀ : E) (g : (Set.Icc 0 T)) (hg₀ : g 0, = 1) (C : ) (hU : ∀ (t s : (Set.Icc 0 T)), s tU.propagator t s C * g t / g s) (t : (Set.Icc 0 T)) :
      (U.initialOperator a₀) t C * g t * a₀

      The homogeneous initial-data map has the same profile and propagator constant.

      theorem EulerLinearDuhamel.Evolution.solution_integral {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (f : C((Set.Icc 0 T), E)) (a₀ : E) :

      The forced path satisfies the actual integral equation.

      noncomputable def EulerLinearDuhamel.volterraOperator {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] (T : ) (hT : 0 T) (B : C((Set.Icc 0 T), E →L[] E)) :
      C((Set.Icc 0 T), E) →L[] C((Set.Icc 0 T), E)

      The ordinary continuous-path Volterra operator.

      Equations
      Instances For
        noncomputable def EulerLinearDuhamel.Evolution.volterraInverse {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) :
        C((Set.Icc 0 T), E) →L[] C((Set.Icc 0 T), E)

        Duhamel's formula gives an actual inverse on every continuous input.

        Equations
        Instances For
          theorem EulerLinearDuhamel.Evolution.volterra_operator_inverse {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (h : C((Set.Icc 0 T), E)) :

          The Volterra operator followed by the constructed inverse is the identity.

          The homogeneous Volterra equation has only its zero solution.

          theorem EulerLinearDuhamel.Evolution.volterra_inverse_operator {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) (h : C((Set.Icc 0 T), E)) :

          The constructed inverse is also a left inverse.

          noncomputable def EulerLinearDuhamel.Evolution.volterraEquiv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] [CompleteSpace E] {T : } {hT : 0 T} {B : C((Set.Icc 0 T), E →L[] E)} (U : Evolution T hT B) :
          C((Set.Icc 0 T), E) ≃L[] C((Set.Icc 0 T), E)

          The actual two-sided Volterra equivalence.

          Equations
          Instances For