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 #
SchwartzMap
: The Schwartz space is the space of smooth functions such that all derivatives decay faster than any power ofβxβ
.SchwartzMap.seminorm
: The family of seminorms as described aboveSchwartzMap.fderivCLM
: The differential as a continuous linear mapπ’(E, F) βL[π] π’(E, E βL[β] F)
SchwartzMap.derivCLM
: The one-dimensional derivative as a continuous linear mapπ’(β, F) βL[π] π’(β, F)
SchwartzMap.integralCLM
: Integration as a continuous linear mapπ’(β, F) βL[β] F
Main statements #
SchwartzMap.instUniformAddGroup
andSchwartzMap.instLocallyConvexSpace
: The Schwartz space is a locally convex topological vector space.SchwartzMap.one_add_le_sup_seminorm_apply
: For a Schwartz functionf
there is a uniform bound on(1 + βxβ) ^ k * βiteratedFDeriv β n f xβ
.
Implementation details #
The implementation of the seminorms is taken almost literally from ContinuousLinearMap.opNorm
.
Notation #
π’(E, F)
: The Schwartz spaceSchwartzMap E F
localized inSchwartzSpace
Tags #
Schwartz space, tempered distributions
A function is a Schwartz function if it is smooth and all derivatives decay faster than
any power of βxβ
.
- toFun : E β F
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
- SchwartzMap.instFunLike = { coe := fun (f : SchwartzMap E F) => f.toFun, coe_injective' := β― }
All derivatives of a Schwartz function are rapidly decaying.
Every Schwartz function is smooth.
Every Schwartz function is continuous.
Every Schwartz function is differentiable.
Every Schwartz function is differentiable at any point.
Auxiliary lemma, used in proving the more general result isBigO_cocompact_rpow
.
Helper definition for the seminorms of the Schwartz space.
Equations
Instances For
If one controls the norm of every A x
, then one controls the norm of A
.
Algebraic properties #
Equations
- SchwartzMap.instSMul = { smul := fun (c : π) (f : SchwartzMap E F) => { toFun := c β’ βf, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instNSMul = { smul := fun (c : β) (f : SchwartzMap E F) => { toFun := c β’ βf, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instZSMul = { smul := fun (c : β€) (f : SchwartzMap E F) => { toFun := c β’ βf, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instZero = { zero := { toFun := fun (x : E) => 0, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instInhabited = { default := 0 }
Equations
- SchwartzMap.instNeg = { neg := fun (f : SchwartzMap E F) => { toFun := -βf, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instAdd = { add := fun (f g : SchwartzMap E F) => { toFun := βf + βg, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instSub = { sub := fun (f g : SchwartzMap E F) => { toFun := βf - βg, smooth' := β―, decay' := β― } }
Equations
- SchwartzMap.instAddCommGroup = Function.Injective.addCommGroup (fun (f : SchwartzMap E F) => βf) β― β― β― β― β― β― β―
Coercion as an additive homomorphism.
Equations
- SchwartzMap.coeHom E F = { toFun := fun (f : SchwartzMap E F) => βf, map_zero' := β―, map_add' := β― }
Instances For
Equations
- SchwartzMap.instModule = Function.Injective.module π (SchwartzMap.coeHom E F) β― β―
Seminorms on Schwartz space #
The seminorms of the Schwartz space given by the best constants in the definition of
π’(E, F)
.
Equations
- SchwartzMap.seminorm π k n = Seminorm.ofSMulLE (SchwartzMap.seminormAux k n) β― β― β―
Instances For
If one controls the seminorm for every x
, then one controls the seminorm.
If one controls the seminorm for every x
, then one controls the seminorm.
Variant for functions π’(β, F)
.
The seminorm controls the Schwartz estimate for any fixed x
.
The seminorm controls the Schwartz estimate for any fixed x
.
Variant for functions π’(β, F)
.
The family of Schwartz seminorms.
Equations
- schwartzSeminormFamily π E F m = SchwartzMap.seminorm π m.1 m.2
Instances For
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 #
Equations
- SchwartzMap.instTopologicalSpace E F = (schwartzSeminormFamily β E F).moduleFilterBasis.topology'
Equations
- SchwartzMap.instUniformSpace = (schwartzSeminormFamily β E F).addGroupFilterBasis.uniformSpace
Functions of temperate growth #
A function is called of temperate growth if it is smooth and all iterated derivatives are polynomially bounded.
Equations
Instances For
A measure ΞΌ
has temperate growth if there is an n : β
such that (1 + βxβ) ^ (- n)
is
ΞΌ
-integrable.
Instances
An integer exponent l
such that (1 + βxβ) ^ (-l)
is integrable if ΞΌ
has
temperate growth.
Equations
- ΞΌ.integrablePower = if h : ΞΌ.HasTemperateGrowth then β―.choose else 0
Instances For
Pointwise inequality to control x ^ k * f
in terms of 1 / (1 + x) ^ l
if one controls both
f
(with a bound Cβ
) and x ^ (k + l) * f
(with a bound Cβ
). This will be used to check
integrability of x ^ k * f x
when f
is a Schwartz function, and to control explicitly its
integral in terms of suitable seminorms of f
.
Given a function such that f
and x ^ (k + l) * f
are bounded for a suitable l
, then
x ^ k * f
is integrable. The bounds are not relevant for the integrability conclusion, but they
are relevant for bounding the integral in integral_pow_mul_le_of_le_of_pow_mul_le
. We formulate
the two lemmas with the same set of assumptions for ease of applications.
Given a function such that f
and x ^ (k + l) * f
are bounded for a suitable l
, then
one can bound explicitly the integral of x ^ k * f
.
Construction of continuous linear maps between Schwartz spaces #
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
Create a continuous semilinear map between Schwartz spaces.
For an example of using this definition, see fderivCLM
.
Equations
- SchwartzMap.mkCLM A hadd hsmul hsmooth hbound = { toLinearMap := SchwartzMap.mkLM A hadd hsmul hsmooth hbound, cont := β― }
Instances For
Define a continuous semilinear map from Schwartz space to a normed space.
Equations
- SchwartzMap.mkCLMtoNormedSpace A hadd hsmul hbound = { toFun := fun (x : SchwartzMap D E) => A x, map_add' := hadd, map_smul' := hsmul, cont := β― }
Instances For
The map applying a vector to Hom-valued Schwartz function as a continuous linear map.
Equations
- SchwartzMap.evalCLM m = SchwartzMap.mkCLM (fun (f : E β E βL[β] F) (x : E) => (f x) m) β― β― β― β―
Instances For
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
- SchwartzMap.bilinLeftCLM B hg = SchwartzMap.mkCLM (fun (f : D β E) (x : D) => (B (f x)) (g x)) β― β― β― β―
Instances For
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
- SchwartzMap.compCLM π hg hg_upper = SchwartzMap.mkCLM (fun (f : E β F) (x : D) => f (g x)) β― β― β― β―
Instances For
Composition with a function on the right is a continuous linear map on Schwartz space provided that the function is temperate and antilipschitz.
Equations
- SchwartzMap.compCLMOfAntilipschitz π hg h'g = SchwartzMap.compCLM π hg β―
Instances For
Composition with a continuous linear equiv on the right is a continuous linear map on Schwartz space.
Equations
- SchwartzMap.compCLMOfContinuousLinearEquiv π g = SchwartzMap.compCLMOfAntilipschitz π β― β―
Instances For
Derivatives of Schwartz functions #
The FrΓ©chet derivative on Schwartz space as a continuous π
-linear map.
Equations
- SchwartzMap.fderivCLM π = SchwartzMap.mkCLM (fderiv β) β― β― β― β―
Instances For
The 1-dimensional derivative on Schwartz space as a continuous π
-linear map.
Equations
- SchwartzMap.derivCLM π = SchwartzMap.mkCLM deriv β― β― β― β―
Instances For
The partial derivative (or directional derivative) in the direction m : E
as a
continuous linear map on Schwartz space.
Equations
- SchwartzMap.pderivCLM π m = (SchwartzMap.evalCLM m).comp (SchwartzMap.fderivCLM π)
Instances For
The iterated partial derivative (or directional derivative) as a continuous linear map on Schwartz space.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Integration #
The integral as a continuous linear map from Schwartz space to the codomain.
Equations
- SchwartzMap.integralCLM π ΞΌ = SchwartzMap.mkCLMtoNormedSpace (fun (x : SchwartzMap D V) => β« (x_1 : D), x x_1 βΞΌ) β― β― β―
Instances For
Inclusion into the space of bounded continuous functions #
Schwartz functions as bounded continuous functions
Equations
- f.toBoundedContinuousFunction = BoundedContinuousFunction.ofNormedAddCommGroup βf β― ((SchwartzMap.seminorm β 0 0) f) β―
Instances For
Schwartz functions as continuous functions
Equations
- f.toContinuousMap = f.toBoundedContinuousFunction.toContinuousMap
Instances For
The inclusion map from Schwartz functions to bounded continuous functions as a continuous linear map.
Equations
- SchwartzMap.toBoundedContinuousFunctionCLM π E F = SchwartzMap.mkCLMtoNormedSpace SchwartzMap.toBoundedContinuousFunction β― β― β―
Instances For
The Dirac delta distribution
Equations
- SchwartzMap.delta π F x = (BoundedContinuousFunction.evalCLM π x).comp (SchwartzMap.toBoundedContinuousFunctionCLM π E F)
Instances For
Integrating against the Dirac measure is equal to the delta distribution.
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
- SchwartzMap.toZeroAtInftyCLM π E F = SchwartzMap.mkCLMtoNormedSpace SchwartzMap.toZeroAtInfty β― β― β―