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
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      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.

      theorem SchwartzMap.bounds_nonempty {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k n : ) (f : SchwartzMap E F) :
      ∃ (c : ), c {c : | 0 c ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x c}
      theorem SchwartzMap.bounds_bddBelow {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k n : ) (f : SchwartzMap E F) :
      BddBelow {c : | 0 c ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x c}
      theorem SchwartzMap.decay_add_le_aux {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k n : ) (f g : SchwartzMap E F) (x : E) :
      theorem SchwartzMap.decay_smul_aux {𝕜 : 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) (c : 𝕜) (x : E) :

      Helper definition for the seminorms of the Schwartz space.

      Equations
      Instances For
        theorem SchwartzMap.seminormAux_le_bound {E : Type u_5} {F : Type u_6} [NormedAddCommGroup E] [NormedSpace E] [NormedAddCommGroup F] [NormedSpace F] (k n : ) (f : SchwartzMap E F) {M : } (hMp : 0 M) (hM : ∀ (x : E), x ^ k * iteratedFDeriv n (⇑f) x M) :

        If one controls the norm of every A x, then one controls the norm of A.

        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)
        theorem SchwartzMap.seminormAux_smul_le {𝕜 : 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 : ) (c : 𝕜) (f : SchwartzMap E F) :
        Equations
        Equations
        Equations
        @[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
        Equations
        @[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
        Equations
        @[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
        Equations
        @[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

          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_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
                • SchwartzMap.mkLM A hadd hsmul hsmooth hbound = { toFun := fun (f : SchwartzMap D E) => { toFun := A f, smooth' := , decay' := }, map_add' := , map_smul' := }
                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
                            @[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 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
                                            • f.toZeroAtInfty = { toFun := f, continuous_toFun := , zero_at_infty' := }
                                            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) μ