Documentation

LeanPool.NavierStokesAndEuler.Euler.SobolevHeatGenerator

A bounded actual Laplacian evaluation and the genuine heat generator on finite Sobolev data.

The genuine cylinder heat semigroup solves the Laplacian evolution equation.

The Gaussian variance generator is one half of the genuine squared translation derivative.

A continuous real-parameter extension of the Gaussian average, constant for negative variance.

Equations
Instances For
    theorem EulerGaussianCylinderHeat.realLineHeat_eq (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) {t : } (ht : 0 t) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
    realLineHeat period a t f = lineHeat period a t, ht f
    theorem EulerGaussianCylinderHeat.scaledOrbit_hasDerivAt (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (f g : (EulerLiftedGradientSpace.LiftL2 period)) (hD : HasDerivAt (lineOrbit period a f) g 0) (x t : ) (ht : 0 < t) :
    HasDerivAt (fun (s : ) => lineOrbit period a f (s * x)) ((x / (2 * t)) lineOrbit period a g (t * x)) t

    The chain-rule derivative of a scaled orbit, before Gaussian integration.

    theorem EulerGaussianCylinderHeat.realLineHeat_hasDerivAt_moment (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (f g : (EulerLiftedGradientSpace.LiftL2 period)) (hD : HasDerivAt (lineOrbit period a f) g 0) {t : } (ht : 0 < t) :
    HasDerivAt (fun (s : ) => realLineHeat period a s f) ( (x : ), (x / (2 * t)) lineOrbit period a g (t * x) gaussianMeasure 0 1) t

    Differentiation of the Gaussian average at positive variance is justified by an integrable first moment.

    theorem EulerGaussianCylinderHeat.varianceMoment_eq_half_derivative (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) {t : } (ht : 0 < t) (g : (EulerLiftedGradientSpace.LiftL2 period)) :
    (x : ), (x / (2 * t)) lineOrbit period a g (t * x) gaussianMeasure 0 1 = (1 / 2) lineHeatDerivative period a t, g

    Gaussian scaling rewrites the variance derivative as one half of the averaged orbit derivative.

    theorem EulerGaussianCylinderHeat.realLineHeat_generator_pos (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (f g h : (EulerLiftedGradientSpace.LiftL2 period)) (hD : HasDerivAt (lineOrbit period a f) g 0) (hDD : HasDerivAt (lineOrbit period a g) h 0) {t : } (ht : 0 < t) :
    HasDerivAt (fun (s : ) => realLineHeat period a s f) ((1 / 2) realLineHeat period a t h) t

    At every positive variance, the generator is one half of the genuine second translation derivative.

    theorem EulerGaussianCylinderHeat.realLineHeat_generator_zero (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (f g h : (EulerLiftedGradientSpace.LiftL2 period)) (hD : HasDerivAt (lineOrbit period a f) g 0) (hDD : HasDerivAt (lineOrbit period a g) h 0) :
    HasDerivWithinAt (fun (s : ) => realLineHeat period a s f) ((1 / 2) h) (Set.Ici 0) 0

    The generator formula also holds as a genuine right derivative at zero variance.

    Differentiation of jointly continuous operator families without operator-norm differentiability.

    theorem EulerStrongOperatorDerivative.slope_apply {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (A : E →L[] F) (u : E) (t s : ) :
    slope (fun (r : ) => (A r) (u r)) t s = (A s) (slope u t s) + slope (fun (r : ) => (A r) (u t)) t s

    The exact slope decomposition for a varying bounded linear operator and a varying input.

    theorem EulerStrongOperatorDerivative.hasDerivAt_apply {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (A : E →L[] F) (u : E) (t : ) (u' : E) (a' : F) (hu : HasDerivAt u u' t) (ha : HasDerivAt (fun (s : ) => (A s) (u t)) a' t) (hc : ContinuousAt (fun (p : × E) => (A p.1) p.2) (t, u')) :
    HasDerivAt (fun (s : ) => (A s) (u s)) ((A t) u' + a') t

    A product rule requiring joint strong continuity only at the limiting derivative vector.

    theorem EulerStrongOperatorDerivative.hasDerivWithinAt_apply {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (A : E →L[] F) (u : E) (t : ) (s : Set ) (u' : E) (a' : F) (hu : HasDerivWithinAt u u' s t) (ha : HasDerivWithinAt (fun (r : ) => (A r) (u t)) a' s t) (hc : ContinuousAt (fun (p : × E) => (A p.1) p.2) (t, u')) :
    HasDerivWithinAt (fun (r : ) => (A r) (u r)) ((A t) u' + a') s t

    The same product rule for a one-sided derivative.

    The real extension is the nonnegative-variance heat operator evaluated at the positive part.

    Real-parameter version of the actual bounded heat operator.

    Equations
    Instances For
      theorem EulerGaussianCylinderHeat.realLineHeat_varying_input (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (u : (EulerLiftedGradientSpace.LiftL2 period)) (t : ) (u' g h : (EulerLiftedGradientSpace.LiftL2 period)) (ht : 0 < t) (hu : HasDerivAt u u' t) (hD : HasDerivAt (lineOrbit period a (u t)) g 0) (hDD : HasDerivAt (lineOrbit period a g) h 0) :
      HasDerivAt (fun (s : ) => realLineHeat period a s (u s)) (realLineHeat period a t u' + (1 / 2) realLineHeat period a t h) t

      Product rule for the real heat operator applied to a differentiable input curve.

      The real extension of a finite commuting heat product.

      Equations
      Instances For
        theorem EulerGaussianCylinderHeat.realHeatList_eq (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) {t : } (ht : 0 t) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        realHeatList period directions t f = heatList period directions t, ht f
        theorem EulerGaussianCylinderHeat.realLineHeat_add (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (t : ) (f g : (EulerLiftedGradientSpace.LiftL2 period)) :
        realLineHeat period a t (f + g) = realLineHeat period a t f + realLineHeat period a t g
        theorem EulerGaussianCylinderHeat.realLineHeat_smul (period : ) [Fact (0 < period)] (a : EulerLiftedGradientSpace.LiftTangent) (t c : ) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        realLineHeat period a t (c f) = c realLineHeat period a t f
        theorem EulerGaussianCylinderHeat.realHeatList_add (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (t : ) (f g : (EulerLiftedGradientSpace.LiftL2 period)) :
        realHeatList period directions t (f + g) = realHeatList period directions t f + realHeatList period directions t g
        theorem EulerGaussianCylinderHeat.realHeatList_smul (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (t c : ) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        realHeatList period directions t (c f) = c realHeatList period directions t f
        @[simp]
        theorem EulerGaussianCylinderHeat.realHeatList_zero_field (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (t : ) :
        realHeatList period directions t 0 = 0
        @[simp]
        theorem EulerGaussianCylinderHeat.realHeatList_zero_time (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        realHeatList period directions 0 f = f
        theorem EulerGaussianCylinderHeat.realHeatList_eq_toNNReal (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (t : ) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        realHeatList period directions t f = heatList period directions t.toNNReal f
        theorem EulerGaussianCylinderHeat.realHeatList_continuous (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (f : (EulerLiftedGradientSpace.LiftL2 period)) :
        Continuous fun (t : ) => realHeatList period directions t f
        theorem EulerGaussianCylinderHeat.realHeatList_strongDerivative (period : ) [Fact (0 < period)] (directions : List EulerLiftedGradientSpace.LiftTangent) (a : EulerLiftedGradientSpace.LiftTangent) (t : ) (f g : (EulerLiftedGradientSpace.LiftL2 period)) (hD : HasDerivAt (lineOrbit period a f) g 0) :
        HasDerivAt (lineOrbit period a (realHeatList period directions t f)) (realHeatList period directions t g) 0

        Every strong coordinate derivative commutes with every finite heat product.

        theorem EulerGaussianCylinderHeat.realHeatList_generator_pos (period : ) [Fact (0 < period)] {ι : Type u_1} (indices : List ι) (direction : ιEulerLiftedGradientSpace.LiftTangent) (f : (EulerLiftedGradientSpace.LiftL2 period)) (df ddf : ι(EulerLiftedGradientSpace.LiftL2 period)) (hD : iindices, HasDerivAt (lineOrbit period (direction i) f) (df i) 0) (hDD : iindices, HasDerivAt (lineOrbit period (direction i) (df i)) (ddf i) 0) {t : } (ht : 0 < t) :
        HasDerivAt (fun (s : ) => realHeatList period (List.map direction indices) s f) ((1 / 2) realHeatList period (List.map direction indices) t (List.map ddf indices).sum) t

        The finite directional heat product has the sum of its actual second derivatives as generator.

        theorem EulerGaussianCylinderHeat.realHeatList_generator_zero (period : ) [Fact (0 < period)] {ι : Type u_1} (indices : List ι) (direction : ιEulerLiftedGradientSpace.LiftTangent) (f : (EulerLiftedGradientSpace.LiftL2 period)) (df ddf : ι(EulerLiftedGradientSpace.LiftL2 period)) (hD : iindices, HasDerivAt (lineOrbit period (direction i) f) (df i) 0) (hDD : iindices, HasDerivAt (lineOrbit period (direction i) (df i)) (ddf i) 0) :
        HasDerivWithinAt (fun (s : ) => realHeatList period (List.map direction indices) s f) ((1 / 2) (List.map ddf indices).sum) (Set.Ici 0) 0

        The full directional generator identity holds as a right derivative at zero as well.

        Exact identification of the Gaussian cylinder generator with the actual strong-jet Laplacian.

        Every existing strong Sobolev jet is transported by the genuine heat operator.

        Equations
        Instances For
          theorem EulerGaussianCylinderHeat.cylinderHeatJet_word (period : ) [Fact (0 < period)] {q n : } {f : (EulerLiftedGradientSpace.LiftL2 period)} (J : EulerSpatialSobolevInverse.SpatialJet period EulerCylinderSobolev.standardDirection q f) (v : NNReal) (w : Fin nFin 4) :
          (cylinderHeatJet period J v).word w = (cylinderHeat period v) (J.word w)

          Heat preserves every actual derivative coordinate.

          The actual heat operator commutes with the true strong-jet Laplacian.

          Real-time extension of the cylinder heat semigroup.

          Equations
          Instances For

            The actual cylinder heat generator at positive variance is one half of the Laplacian.

            The actual cylinder heat generator at zero variance is a right Laplacian derivative.

            Variance2νt is the genuine viscosity-ν heat evolution.

            Equations
            Instances For
              theorem EulerGaussianCylinderHeat.viscousCylinderHeat_equation (period : ) [Fact (0 < period)] {f : (EulerLiftedGradientSpace.LiftL2 period)} (J : EulerSpatialSobolevInverse.SpatialJet period EulerCylinderSobolev.standardDirection 2 f) {ν t : } ( : 0 < ν) (ht : 0 < t) :
              HasDerivAt (fun (s : ) => (viscousCylinderHeat period ν s) f) (ν EulerMetricHeatEnergy.jetLaplacian period (cylinderHeatJet period J (2 * ν * t).toNNReal)) t

              The constructed heat evolution solves u_t=νΔu, with the actual strong spatial Laplacian.

              noncomputable def EulerSobolevHeatGenerator.laplacianEvaluation (period : ) [Fact (0 < period)] (q : ) (hq : 2 q) :

              The actual spatial Laplacian evaluated as a bounded map from Hq to L², q≥2.

              Equations
              Instances For
                theorem EulerSobolevHeatGenerator.laplacianEvaluation_apply (period : ) [Fact (0 < period)] {q : } (hq : 2 q) (u : (EulerCylinderSobolevSpace.SobolevSpace period q)) :
                (laplacianEvaluation period q hq) u = i : Fin 4, EulerCylinderSobolevSpace.word period u hq fun (x : Fin 2) => i

                The Laplacian evaluation is the sum of the four genuine second derivative coordinates.

                theorem EulerSobolevHeatGenerator.laplacianEvaluation_bound (period : ) [Fact (0 < period)] {q : } (hq : 2 q) (u : (EulerCylinderSobolevSpace.SobolevSpace period q)) :

                The actual Laplacian is bounded by four times the complete Sobolev norm.

                Bounded Laplacian evaluation agrees exactly with the existing genuine strong-jet Laplacian.

                theorem EulerSobolevHeatGenerator.laplacianEvaluation_heat (period : ) [Fact (0 < period)] {q : } (hq : 2 q) (v : NNReal) (u : (EulerCylinderSobolevSpace.SobolevSpace period q)) :

                The actual Laplacian evaluation commutes with Gaussian heat.

                noncomputable def EulerSobolevHeatGenerator.heatFlow (period : ) [Fact (0 < period)] (q : ) (ν t : ) :

                Actual viscous heat on the complete Sobolev space, extended constantly to negative physical time.

                Equations
                Instances For
                  @[simp]

                  The Sobolev flow has exactly the original genuine L² viscous heat value.

                  theorem EulerSobolevHeatGenerator.heatFlow_value_hasDerivAt (period : ) [Fact (0 < period)] {q : } (hq : 2 q) (ν : ) ( : 0 < ν) (u : (EulerCylinderSobolevSpace.SobolevSpace period q)) (t : ) (ht : 0 < t) :
                  HasDerivAt (fun (s : ) => EulerCylinderSobolevSpace.value period ((heatFlow period q ν s) u)) (ν (laplacianEvaluation period q hq) ((heatFlow period q ν t) u)) t

                  Positive-time heat is differentiable in L² with the actual bounded Laplacian evaluation.

                  The actual L² heat orbit has the half-Laplacian derivative on the nonnegative variance half-line.

                  The heat orbit is Lipschitz in nonnegative variance with a bound from the actual Hq norm.

                  The constantly extended real-variance heat orbit is globally Lipschitz in L².

                  theorem EulerSobolevHeatGenerator.heatFlow_value_norm_sub_le (period : ) [Fact (0 < period)] {q : } (hq : 2 q) (ν : ) ( : 0 < ν) (u : (EulerCylinderSobolevSpace.SobolevSpace period q)) (s t : ) :
                  EulerCylinderSobolevSpace.value period ((heatFlow period q ν s) u) - EulerCylinderSobolevSpace.value period ((heatFlow period q ν t) u) 4 * ν * u * |s - t|

                  The actual viscous heat orbit is globally Lipschitz in L², uniformly in time.