Documentation

Mathlib.Analysis.Distribution.SchwartzSpace.Basic

Schwartz space #

This file defines the Schwartz space. Usually, the Schwartz space is defined as the set of smooth functions $f : ℝ^n → ℂ$ such that there exists $C_{αβ} > 0$ with $$|x^α ∂^β f(x)| < C_{αβ}$$ for all $x ∈ ℝ^n$ and for all multiindices $α, β$. In mathlib, we use a slightly different approach and define the Schwartz space as all smooth functions f : E → F, where E and F are real normed vector spaces such that for all natural numbers k and n we have uniform bounds ‖x‖ ^ k * ‖iteratedFDeriv ℝ n f x‖ < C. This approach completely avoids using partial derivatives as well as polynomials. We construct the topology on the Schwartz space by a family of seminorms, which are the best constants in the above estimates. The abstract theory of topological vector spaces developed in SeminormFamily.moduleFilterBasis and WithSeminorms.toLocallyConvexSpace turns the Schwartz space into a locally convex topological vector space.

Main definitions #

Main statements #

Implementation details #

The implementation of the seminorms is taken almost literally from ContinuousLinearMap.opNorm.

Notation #

Tags #

Schwartz space, tempered distributions

structure SchwartzMap (E : Type u_5) (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] :
Type (max u_5 u_6)

A function is a Schwartz function if it is smooth and all derivatives decay faster than any power of ‖x‖.

Instances For

    A function is a Schwartz function if it is smooth and all derivatives decay faster than any power of ‖x‖.

    Equations
      Instances For
        theorem SchwartzMap.decay {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (f : SchwartzMap E F) (k n : ) :
        ∃ (C : ), 0 < C ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x C

        All derivatives of a Schwartz function are rapidly decaying.

        theorem SchwartzMap.smooth {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (f : SchwartzMap E F) (n : ℕ∞) :
        ContDiff n f

        Every Schwartz function is smooth.

        theorem SchwartzMap.contDiffAt {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (f : SchwartzMap E F) (n : ℕ∞) {x : E} :
        ContDiffAt (↑n) (⇑f) x

        Every Schwartz function is smooth at any point.

        Every Schwartz function is continuous.

        Every Schwartz function is differentiable.

        Every Schwartz function is differentiable at any point.

        theorem SchwartzMap.ext {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f g : SchwartzMap E F} (h : ∀ (x : E), f x = g x) :
        f = g
        theorem SchwartzMap.ext_iff {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f g : SchwartzMap E F} :
        f = g ∀ (x : E), f x = g x
        theorem SchwartzMap.isBigO_cocompact_zpow_neg_nat {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (f : SchwartzMap E F) (k : ) :
        f =O[Filter.cocompact E] fun (x : E) => x ^ (-k)

        Auxiliary lemma, used in proving the more general result isBigO_cocompact_rpow.

        Algebraic properties #

        instance SchwartzMap.instSMul {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] :
        SMul 𝕜 (SchwartzMap E F)
        Equations
          @[simp]
          theorem SchwartzMap.smul_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {f : SchwartzMap E F} {c : 𝕜} {x : E} :
          (c f) x = c f x
          instance SchwartzMap.instIsScalarTower {𝕜 : Type u_2} {𝕜' : Type u_3} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] [NormedField 𝕜'] [NormedSpace 𝕜' F] [SMulCommClass 𝕜' F] [SMul 𝕜 𝕜'] [IsScalarTower 𝕜 𝕜' F] :
          IsScalarTower 𝕜 𝕜' (SchwartzMap E F)
          instance SchwartzMap.instSMulCommClass {𝕜 : Type u_2} {𝕜' : Type u_3} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] [NormedField 𝕜'] [NormedSpace 𝕜' F] [SMulCommClass 𝕜' F] [SMulCommClass 𝕜 𝕜' F] :
          SMulCommClass 𝕜 𝕜' (SchwartzMap E F)
          @[simp]
          @[simp]
          theorem SchwartzMap.zero_apply {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {x : E} :
          0 x = 0
          @[simp]
          theorem SchwartzMap.neg_apply {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (f : SchwartzMap E F) (x : E) :
          (-f) x = -f x
          @[simp]
          theorem SchwartzMap.add_apply {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f g : SchwartzMap E F} {x : E} :
          (f + g) x = f x + g x
          @[simp]
          theorem SchwartzMap.sub_apply {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f g : SchwartzMap E F} {x : E} :
          (f - g) x = f x - g x
          @[simp]
          theorem SchwartzMap.sum_apply {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {ι : Type u_10} (s : Finset ι) (f : ιSchwartzMap E F) (x : E) :
          (∑ is, f i) x = is, (f i) x

          Coercion as an additive homomorphism.

          Equations
            Instances For
              instance SchwartzMap.instModule {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] :
              Module 𝕜 (SchwartzMap E F)
              Equations

                Seminorms on Schwartz space #

                def SchwartzMap.seminorm (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (k n : ) :

                The seminorms of the Schwartz space given by the best constants in the definition of 𝓢(E, F).

                Equations
                  Instances For
                    theorem SchwartzMap.seminorm_apply (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {k n : } (f : SchwartzMap E F) :
                    (SchwartzMap.seminorm 𝕜 k n) f = sInf {c : | 0 c ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x c}

                    The seminorm is given by infimum over all c such that the estimate ‖x‖ ^ k * ‖iteratedFDeriv ℝ n f x‖ ≤ c holds.

                    Note that it is usually better to use seminorm_le_bound or le_seminorm instead of this lemma.

                    theorem SchwartzMap.seminorm_le_bound (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (k n : ) (f : SchwartzMap E F) {M : } (hMp : 0 M) (hM : ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x M) :
                    (SchwartzMap.seminorm 𝕜 k n) f M

                    If one controls the seminorm for every x, then one controls the seminorm.

                    theorem SchwartzMap.seminorm_le_bound' (𝕜 : Type u_2) {F : Type u_6} [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (k n : ) (f : SchwartzMap F) {M : } (hMp : 0 M) (hM : ∀ (x : ), |x| ^ k * iteratedDeriv n (⇑f) x M) :
                    (SchwartzMap.seminorm 𝕜 k n) f M

                    If one controls the seminorm for every x, then one controls the seminorm.

                    Variant for functions 𝓢(ℝ, F).

                    theorem SchwartzMap.le_seminorm (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (k n : ) (f : SchwartzMap E F) (x : E) :

                    The seminorm controls the Schwartz estimate for any fixed x.

                    theorem SchwartzMap.le_seminorm' (𝕜 : Type u_2) {F : Type u_6} [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (k n : ) (f : SchwartzMap F) (x : ) :
                    |x| ^ k * iteratedDeriv n (⇑f) x (SchwartzMap.seminorm 𝕜 k n) f

                    The seminorm controls the Schwartz estimate for any fixed x.

                    Variant for functions 𝓢(ℝ, F).

                    theorem SchwartzMap.norm_iteratedFDeriv_le_seminorm (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (f : SchwartzMap E F) (n : ) (x₀ : E) :
                    theorem SchwartzMap.norm_pow_mul_le_seminorm (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (f : SchwartzMap E F) (k : ) (x₀ : E) :
                    x₀ ^ k * f x₀ (SchwartzMap.seminorm 𝕜 k 0) f
                    theorem SchwartzMap.norm_le_seminorm (𝕜 : Type u_2) {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (f : SchwartzMap E F) (x₀ : E) :
                    f x₀ (SchwartzMap.seminorm 𝕜 0 0) f

                    The family of Schwartz seminorms.

                    Equations
                      Instances For
                        theorem SchwartzMap.one_add_le_sup_seminorm_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {m : × } {k n : } (hk : k m.1) (hn : n m.2) (f : SchwartzMap E F) (x : E) :
                        (1 + x) ^ k * iteratedFDeriv n (⇑f) x 2 ^ m.1 * ((Finset.Iic m).sup fun (m : × ) => SchwartzMap.seminorm 𝕜 m.1 m.2) f

                        A more convenient version of le_sup_seminorm_apply.

                        The set Finset.Iic m is the set of all pairs (k', n') with k' ≤ m.1 and n' ≤ m.2. Note that the constant is far from optimal.

                        The topology on the Schwartz space #

                        def HasCompactSupport.toSchwartzMap {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f : EF} (h₁ : HasCompactSupport f) (h₂ : ContDiff (↑) f) :

                        A smooth compactly supported function is a Schwartz function.

                        Equations
                          Instances For
                            @[simp]
                            theorem HasCompactSupport.toSchwartzMap_toFun {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {f : EF} (h₁ : HasCompactSupport f) (h₂ : ContDiff (↑) f) (a✝ : E) :
                            (h₁.toSchwartzMap h₂) a✝ = f a✝

                            Construction of continuous linear maps between Schwartz spaces #

                            def SchwartzMap.mkLM {𝕜 : Type u_2} {𝕜' : Type u_3} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedField 𝕜'] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 E] [SMulCommClass 𝕜 E] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜' G] [SMulCommClass 𝕜' G] {σ : 𝕜 →+* 𝕜'} (A : SchwartzMap D EFG) (hadd : ∀ (f g : SchwartzMap D E) (x : F), A (f + g) x = A f x + A g x) (hsmul : ∀ (a : 𝕜) (f : SchwartzMap D E) (x : F), A (a f) x = σ a A f x) (hsmooth : ∀ (f : SchwartzMap D E), ContDiff (↑) (A f)) (hbound : ∀ (n : × ), ∃ (s : Finset ( × )) (C : ), 0 C ∀ (f : SchwartzMap D E) (x : F), x ^ n.1 * iteratedFDeriv n.2 (A f) x C * (s.sup (schwartzSeminormFamily 𝕜 D E)) f) :

                            Create a semilinear map between Schwartz spaces.

                            Note: This is a helper definition for mkCLM.

                            Equations
                              Instances For
                                def SchwartzMap.mkCLM {𝕜 : Type u_2} {𝕜' : Type u_3} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedField 𝕜'] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 E] [SMulCommClass 𝕜 E] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜' G] [SMulCommClass 𝕜' G] {σ : 𝕜 →+* 𝕜'} [RingHomIsometric σ] (A : SchwartzMap D EFG) (hadd : ∀ (f g : SchwartzMap D E) (x : F), A (f + g) x = A f x + A g x) (hsmul : ∀ (a : 𝕜) (f : SchwartzMap D E) (x : F), A (a f) x = σ a A f x) (hsmooth : ∀ (f : SchwartzMap D E), ContDiff (↑) (A f)) (hbound : ∀ (n : × ), ∃ (s : Finset ( × )) (C : ), 0 C ∀ (f : SchwartzMap D E) (x : F), x ^ n.1 * iteratedFDeriv n.2 (A f) x C * (s.sup (schwartzSeminormFamily 𝕜 D E)) f) :

                                Create a continuous semilinear map between Schwartz spaces.

                                For an example of using this definition, see fderivCLM.

                                Equations
                                  Instances For
                                    def SchwartzMap.mkCLMtoNormedSpace {𝕜 : Type u_2} {𝕜' : Type u_3} {D : Type u_4} {E : Type u_5} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedField 𝕜] [NormedField 𝕜'] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 E] [SMulCommClass 𝕜 E] [NormedAddCommGroup G] [NormedSpace 𝕜' G] {σ : 𝕜 →+* 𝕜'} [RingHomIsometric σ] (A : SchwartzMap D EG) (hadd : ∀ (f g : SchwartzMap D E), A (f + g) = A f + A g) (hsmul : ∀ (a : 𝕜) (f : SchwartzMap D E), A (a f) = σ a A f) (hbound : ∃ (s : Finset ( × )) (C : ), 0 C ∀ (f : SchwartzMap D E), A f C * (s.sup (schwartzSeminormFamily 𝕜 D E)) f) :

                                    Define a continuous semilinear map from Schwartz space to a normed space.

                                    Equations
                                      Instances For
                                        def SchwartzMap.evalCLM (𝕜 : Type u_2) (E : Type u_5) {F : Type u_6} (G : Type u_7) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 G] [SMulCommClass 𝕜 G] (m : F) :

                                        The map applying a vector to Hom-valued Schwartz function as a continuous linear map.

                                        Equations
                                          Instances For
                                            @[simp]
                                            theorem SchwartzMap.evalCLM_apply_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NormedField 𝕜] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 G] [SMulCommClass 𝕜 G] (f : SchwartzMap E (F →L[] G)) (m : F) (x : E) :
                                            ((SchwartzMap.evalCLM 𝕜 E G m) f) x = (f x) m
                                            def SchwartzMap.bilinLeftCLM {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) {g : DF} (hg : Function.HasTemperateGrowth g) :

                                            The map f ↦ (x ↦ B (f x) (g x)) as a continuous 𝕜-linear map on Schwartz space, where B is a continuous 𝕜-linear map and g is a function of temperate growth.

                                            Equations
                                              Instances For
                                                @[simp]
                                                theorem SchwartzMap.bilinLeftCLM_apply {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) {g : DF} (hg : Function.HasTemperateGrowth g) (f : SchwartzMap D E) :
                                                ((bilinLeftCLM B hg) f) = fun (x : D) => (B (f x)) (g x)
                                                def SchwartzMap.smulLeftCLM {𝕜 : Type u_2} {E : Type u_5} (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] (g : E𝕜) :

                                                The map f ↦ (x ↦ g x • f x) as a continuous 𝕜-linear map on Schwartz space, where g is a function of temperate growth.

                                                Equations
                                                  Instances For
                                                    theorem SchwartzMap.smulLeftCLM_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g : E𝕜} (hg : Function.HasTemperateGrowth g) (f : SchwartzMap E F) :
                                                    ((smulLeftCLM F g) f) = fun (x : E) => g x f x
                                                    @[simp]
                                                    theorem SchwartzMap.smulLeftCLM_apply_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g : E𝕜} (hg : Function.HasTemperateGrowth g) (f : SchwartzMap E F) (x : E) :
                                                    ((smulLeftCLM F g) f) x = g x f x
                                                    @[simp]
                                                    theorem SchwartzMap.smulLeftCLM_const {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] (c : 𝕜) :
                                                    (smulLeftCLM F fun (x : E) => c) = c ContinuousLinearMap.id 𝕜 (SchwartzMap E F)
                                                    @[simp]
                                                    theorem SchwartzMap.smulLeftCLM_smulLeftCLM_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g₁ g₂ : E𝕜} (hg₁ : Function.HasTemperateGrowth g₁) (hg₂ : Function.HasTemperateGrowth g₂) (f : SchwartzMap E F) :
                                                    (smulLeftCLM F g₁) ((smulLeftCLM F g₂) f) = (smulLeftCLM F (g₁ * g₂)) f
                                                    theorem SchwartzMap.smulLeftCLM_compL_smulLeftCLM {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g₁ g₂ : E𝕜} (hg₁ : Function.HasTemperateGrowth g₁) (hg₂ : Function.HasTemperateGrowth g₂) :
                                                    (smulLeftCLM F g₁).comp (smulLeftCLM F g₂) = smulLeftCLM F (g₁ * g₂)
                                                    theorem SchwartzMap.smulLeftCLM_smul {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g : E𝕜} (hg : Function.HasTemperateGrowth g) (c : 𝕜) :
                                                    theorem SchwartzMap.smulLeftCLM_add {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g₁ g₂ : E𝕜} (hg₁ : Function.HasTemperateGrowth g₁) (hg₂ : Function.HasTemperateGrowth g₂) :
                                                    smulLeftCLM F (g₁ + g₂) = smulLeftCLM F g₁ + smulLeftCLM F g₂
                                                    theorem SchwartzMap.smulLeftCLM_sub {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g₁ g₂ : E𝕜} (hg₁ : Function.HasTemperateGrowth g₁) (hg₂ : Function.HasTemperateGrowth g₂) :
                                                    smulLeftCLM F (g₁ - g₂) = smulLeftCLM F g₁ - smulLeftCLM F g₂
                                                    theorem SchwartzMap.smulLeftCLM_fun_neg {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g : E𝕜} (hg : Function.HasTemperateGrowth g) :
                                                    (smulLeftCLM F fun (x : E) => -g x) = -smulLeftCLM F g
                                                    theorem SchwartzMap.smulLeftCLM_sum {ι : Type u_1} {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedSpace 𝕜 F] {g : ιE𝕜} {s : Finset ι} (hg : is, Function.HasTemperateGrowth (g i)) :
                                                    (smulLeftCLM F fun (x : E) => is, g i x) = is, smulLeftCLM F (g i)
                                                    theorem SchwartzMap.smulLeftCLM_ofReal {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (𝕜' : Type u_10) [RCLike 𝕜'] [NormedSpace 𝕜' F] {g : E} (hg : Function.HasTemperateGrowth g) (f : SchwartzMap E F) :
                                                    (smulLeftCLM F fun (x : E) => (g x)) f = (smulLeftCLM F g) f
                                                    theorem SchwartzMap.smulLeftCLM_real_smul {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] {𝕜' : Type u_10} [RCLike 𝕜'] [NormedSpace 𝕜' F] {g : E𝕜'} (hg : Function.HasTemperateGrowth g) (c : ) :
                                                    def SchwartzMap.pairing {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) :

                                                    The bilinear pairing of Schwartz functions.

                                                    The continuity in the left argument is provided in SchwartzMap.pairing_continuous_left.

                                                    Equations
                                                      Instances For
                                                        theorem SchwartzMap.pairing_apply {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) (f : SchwartzMap D E) (g : SchwartzMap D F) :
                                                        (((pairing B) f) g) = fun (x : D) => (B (f x)) (g x)
                                                        @[simp]
                                                        theorem SchwartzMap.pairing_apply_apply {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) (f : SchwartzMap D E) (g : SchwartzMap D F) (x : D) :
                                                        (((pairing B) f) g) x = (B (f x)) (g x)
                                                        theorem SchwartzMap.pairing_continuous_left {𝕜 : Type u_2} {D : Type u_4} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] [NormedSpace 𝕜 E] [NormedSpace 𝕜 G] (B : E →L[𝕜] F →L[𝕜] G) (g : SchwartzMap D F) :
                                                        Continuous fun (x : SchwartzMap D E) => ((pairing B) x) g

                                                        The pairing is continuous in the left argument.

                                                        Note that since 𝓢(E, F) is not a normed space, uncurried and curried continuity do not coincide.

                                                        Scalar multiplication with a continuous linear map as a continuous linear map on Schwartz functions.

                                                        Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem SchwartzMap.smulRightCLM_apply_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} {G : Type u_7} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜] [NormedAddCommGroup G] [NormedSpace G] [NormedSpace 𝕜 F] (L : E →L[] G →L[] ) (f : SchwartzMap E F) (x : E) :
                                                            ((smulRightCLM 𝕜 F L) f) x = (L x).smulRight (f x)
                                                            def SchwartzMap.compCLM (𝕜 : Type u_2) {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {g : DE} (hg : Function.HasTemperateGrowth g) (hg_upper : ∃ (k : ) (C : ), ∀ (x : D), x C * (1 + g x) ^ k) :

                                                            Composition with a function on the right is a continuous linear map on Schwartz space provided that the function is temperate and growths polynomially near infinity.

                                                            Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem SchwartzMap.compCLM_apply (𝕜 : Type u_2) {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {g : DE} (hg : Function.HasTemperateGrowth g) (hg_upper : ∃ (k : ) (C : ), ∀ (x : D), x C * (1 + g x) ^ k) (f : SchwartzMap E F) :
                                                                ((compCLM 𝕜 hg hg_upper) f) = f g
                                                                def SchwartzMap.compCLMOfAntilipschitz (𝕜 : Type u_2) {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {K : NNReal} {g : DE} (hg : Function.HasTemperateGrowth g) (h'g : AntilipschitzWith K g) :

                                                                Composition with a function on the right is a continuous linear map on Schwartz space provided that the function is temperate and antilipschitz.

                                                                Equations
                                                                  Instances For
                                                                    @[simp]
                                                                    theorem SchwartzMap.compCLMOfAntilipschitz_apply (𝕜 : Type u_2) {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] {K : NNReal} {g : DE} (hg : Function.HasTemperateGrowth g) (h'g : AntilipschitzWith K g) (f : SchwartzMap E F) :
                                                                    ((compCLMOfAntilipschitz 𝕜 hg h'g) f) = f g

                                                                    Composition with a continuous linear equiv on the right is a continuous linear map on Schwartz space.

                                                                    Equations
                                                                      Instances For
                                                                        @[simp]
                                                                        theorem SchwartzMap.compCLMOfContinuousLinearEquiv_apply (𝕜 : Type u_2) {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (g : D ≃L[] E) (f : SchwartzMap E F) :
                                                                        ((compCLMOfContinuousLinearEquiv 𝕜 g) f) = f g
                                                                        theorem SchwartzMap.smulLeftCLM_compCLMOfContinuousLinearEquiv (𝕜 : Type u_2) {𝕜' : Type u_3} {D : Type u_4} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜'] [NormedSpace 𝕜' F] {u : D𝕜'} (hu : Function.HasTemperateGrowth u) (g : D ≃L[] E) (f : SchwartzMap E F) :

                                                                        Integration #

                                                                        theorem SchwartzMap.integral_pow_mul_iteratedFDeriv_le (𝕜 : Type u_2) {D : Type u_4} {V : Type u_9} [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup V] [NormedSpace V] [NormedSpace 𝕜 V] [MeasurableSpace D] (μ : MeasureTheory.Measure D) [ : μ.HasTemperateGrowth] (f : SchwartzMap D V) (k n : ) :
                                                                        (x : D), x ^ k * iteratedFDeriv n (⇑f) x μ (2 ^ μ.integrablePower * (x : D), (1 + x) ^ (-μ.integrablePower) μ) * ((SchwartzMap.seminorm 𝕜 0 n) f + (SchwartzMap.seminorm 𝕜 (k + μ.integrablePower) n) f)

                                                                        The integral as a continuous linear map from Schwartz space to the codomain.

                                                                        Equations
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem SchwartzMap.integralCLM_apply (𝕜 : Type u_2) {D : Type u_4} {V : Type u_9} [RCLike 𝕜] [NormedAddCommGroup D] [NormedSpace D] [NormedAddCommGroup V] [NormedSpace V] [NormedSpace 𝕜 V] [MeasurableSpace D] {μ : MeasureTheory.Measure D} [ : μ.HasTemperateGrowth] [BorelSpace D] [SecondCountableTopology D] (f : SchwartzMap D V) :
                                                                            (integralCLM 𝕜 μ) f = (x : D), f x μ

                                                                            Inclusion into the space of bounded continuous functions #

                                                                            Schwartz functions as bounded continuous functions

                                                                            Equations
                                                                              Instances For

                                                                                Schwartz functions as continuous functions

                                                                                Equations
                                                                                  Instances For

                                                                                    The inclusion map from Schwartz functions to bounded continuous functions as a continuous linear map.

                                                                                    Equations
                                                                                      Instances For
                                                                                        @[simp]
                                                                                        theorem SchwartzMap.toBoundedContinuousFunctionCLM_apply (𝕜 : Type u_2) (E : Type u_5) (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [RCLike 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (f : SchwartzMap E F) (x : E) :
                                                                                        ((toBoundedContinuousFunctionCLM 𝕜 E F) f) x = f x

                                                                                        Schwartz functions as continuous functions vanishing at infinity.

                                                                                        Equations
                                                                                          Instances For

                                                                                            The inclusion map from Schwartz functions to continuous functions vanishing at infinity as a continuous linear map.

                                                                                            Equations
                                                                                              Instances For
                                                                                                @[simp]
                                                                                                theorem SchwartzMap.toZeroAtInftyCLM_apply (𝕜 : Type u_2) (E : Type u_5) (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [ProperSpace E] [RCLike 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (f : SchwartzMap E F) (x : E) :
                                                                                                ((toZeroAtInftyCLM 𝕜 E F) f) x = f x

                                                                                                Inclusion into L^p space #

                                                                                                theorem SchwartzMap.eLpNorm_le_seminorm (𝕜 : Type u_2) {E : Type u_5} (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [MeasurableSpace E] [OpensMeasurableSpace E] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] (p : ENNReal) (μ : MeasureTheory.Measure E := by volume_tac) [ : μ.HasTemperateGrowth] :
                                                                                                ∃ (k : ) (C : NNReal), ∀ (f : SchwartzMap E F), MeasureTheory.eLpNorm (⇑f) p μ C * ENNReal.ofReal (((Finset.Iic (k, 0)).sup (schwartzSeminormFamily 𝕜 E F)) f)

                                                                                                The L^p norm of a Schwartz function is controlled by a finite family of Schwartz seminorms.

                                                                                                The maximum index k and the constant C depend on p and μ.

                                                                                                The L^p norm of a Schwartz function is finite.

                                                                                                Schwartz functions are in L^∞; does not require hμ.HasTemperateGrowth.

                                                                                                Schwartz functions are in L^p for any p.

                                                                                                Map a Schwartz function to an Lp function for any p.

                                                                                                Equations
                                                                                                  Instances For
                                                                                                    theorem SchwartzMap.norm_toLp_le_seminorm (𝕜 : Type u_2) {E : Type u_5} (F : Type u_6) [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [MeasurableSpace E] [OpensMeasurableSpace E] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] [SecondCountableTopologyEither E F] (p : ENNReal) (μ : MeasureTheory.Measure E := by volume_tac) [ : μ.HasTemperateGrowth] :
                                                                                                    ∃ (k : ) (C : ), 0 C ∀ (f : SchwartzMap E F), f.toLp p μ C * ((Finset.Iic (k, 0)).sup (schwartzSeminormFamily 𝕜 E F)) f

                                                                                                    Continuous linear map from Schwartz functions to L^p.

                                                                                                    Equations
                                                                                                      Instances For
                                                                                                        @[simp]
                                                                                                        theorem SchwartzMap.toLpCLM_apply {𝕜 : Type u_2} {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] [MeasurableSpace E] [OpensMeasurableSpace E] [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass 𝕜 F] [SecondCountableTopologyEither E F] {p : ENNReal} [Fact (1 p)] {μ : MeasureTheory.Measure E} [ : μ.HasTemperateGrowth] {f : SchwartzMap E F} :
                                                                                                        (toLpCLM 𝕜 F p μ) f = f.toLp p μ
                                                                                                        @[simp]
                                                                                                        theorem SchwartzMap.inner_toL2_toL2_eq {H : Type u_8} {V : Type u_9} [NormedAddCommGroup H] [NormedSpace H] [FiniteDimensional H] [MeasurableSpace H] [BorelSpace H] [NormedAddCommGroup V] [InnerProductSpace V] (f g : SchwartzMap H V) (μ : MeasureTheory.Measure H := by volume_tac) [μ.HasTemperateGrowth] :
                                                                                                        inner (f.toLp 2 μ) (g.toLp 2 μ) = (x : H), inner (f x) (g x) μ