Skip to content

Commit b6f08c0

Browse files
committed
feat(Analysis/Fourier): L2 and TemperedDistribution Fourier transforms coincide (leanprover-community#33242)
The Fourier transform on `L2` is defined via extension of the `SchwartzMap` Fourier transform and the Fourier transform on `TemperedDistribution` is defined via self-adjointness and every `L2` function defines a tempered distribution. We show that these definitions behave as expected and give the same notion of Fourier transform.
1 parent 99a5a6f commit b6f08c0

1 file changed

Lines changed: 32 additions & 4 deletions

File tree

Mathlib/Analysis/Fourier/LpSpace.lean

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Authors: Moritz Doll
55
-/
66
module
77

8-
public import Mathlib.Analysis.Distribution.FourierSchwartz
8+
public import Mathlib.Analysis.Distribution.TemperedDistribution
99
public import Mathlib.Analysis.Normed.Operator.Extend
1010

1111
/-!
@@ -20,8 +20,10 @@ In this file we define the Fourier transform on $L^2$ as a linear isometry equiv
2020
2121
## Main statements
2222
23-
* `SchwartzMap.toLp_fourierTransform_eq`: The Fourier transform on `𝓢(E, F)` agrees with the Fourier
23+
* `SchwartzMap.toLp_fourier_eq`: The Fourier transform on `𝓢(E, F)` agrees with the Fourier
2424
transform on $L^2$.
25+
* `MeasureTheory.Lp.fourier_toTemperedDistribution_eq`: The Fourier transform on $L^2$ agrees with
26+
the Fourier transform on `𝓢'(E, F)`.
2527
2628
-/
2729

@@ -74,7 +76,7 @@ theorem inner_fourier_eq (f g : Lp (α := E) F 2) : ⟪𝓕 f, 𝓕 g⟫ = ⟪f,
7476
end MeasureTheory.Lp
7577

7678
@[simp]
77-
theorem SchwartzMap.toLp_fourierTransform_eq (f : 𝓢(E, F)) : 𝓕 (f.toLp 2) = (𝓕 f).toLp 2 := by
79+
theorem SchwartzMap.toLp_fourier_eq (f : 𝓢(E, F)) : 𝓕 (f.toLp 2) = (𝓕 f).toLp 2 := by
7880
apply LinearMap.extendOfNorm_eq
7981
· exact SchwartzMap.denseRange_toLpCLM ENNReal.ofNat_ne_top
8082
use 1
@@ -83,7 +85,7 @@ theorem SchwartzMap.toLp_fourierTransform_eq (f : 𝓢(E, F)) : 𝓕 (f.toLp 2)
8385
exact (norm_fourier_toL2_eq f).le
8486

8587
@[simp]
86-
theorem SchwartzMap.toLp_fourierTransformInv_eq (f : 𝓢(E, F)) : 𝓕⁻ (f.toLp 2) = (𝓕⁻ f).toLp 2 := by
88+
theorem SchwartzMap.toLp_fourierInv_eq (f : 𝓢(E, F)) : 𝓕⁻ (f.toLp 2) = (𝓕⁻ f).toLp 2 := by
8789
apply LinearMap.extendOfNorm_eq
8890
· exact SchwartzMap.denseRange_toLpCLM ENNReal.ofNat_ne_top
8991
use 1
@@ -92,4 +94,30 @@ theorem SchwartzMap.toLp_fourierTransformInv_eq (f : 𝓢(E, F)) : 𝓕⁻ (f.to
9294
convert (norm_fourier_toL2_eq (𝓕⁻ f)).symm.le
9395
simp
9496

97+
namespace MeasureTheory.Lp
98+
99+
/-- The `𝓢'`-Fourier transform and the `L2`-Fourier transform coincide on `L2`. -/
100+
theorem fourier_toTemperedDistribution_eq (f : Lp (α := E) F 2) :
101+
𝓕 (f : 𝓢'(E, F)) = (𝓕 f : Lp (α := E) F 2) := by
102+
set p := fun f : Lp (α := E) F 2 ↦ 𝓕 (f : 𝓢'(E, F)) = (𝓕 f : Lp (α := E) F 2)
103+
apply DenseRange.induction_on (p := p)
104+
(SchwartzMap.denseRange_toLpCLM (p := 2) ENNReal.ofNat_ne_top) f
105+
· apply isClosed_eq
106+
· exact ((TemperedDistribution.fourierTransformCLM E F) ∘L
107+
(toTemperedDistributionCLM F volume 2)).cont
108+
· exact (toTemperedDistributionCLM F volume 2).cont.comp (fourierTransformₗᵢ E F).continuous
109+
intro f
110+
simp [p, TemperedDistribution.fourierTransform_toTemperedDistributionCLM_eq]
111+
112+
/-- The `𝓢'`-inverse Fourier transform and the `L2`-inverse Fourier transform coincide on `L2`. -/
113+
theorem fourierInv_toTemperedDistribution_eq (f : Lp (α := E) F 2) :
114+
𝓕⁻ (f : 𝓢'(E, F)) = (𝓕⁻ f : Lp (α := E) F 2) := calc
115+
_ = 𝓕⁻ (Lp.toTemperedDistribution (𝓕 (𝓕⁻ f))) := by
116+
congr; exact (fourier_fourierInv_eq f).symm
117+
_ = 𝓕⁻ (𝓕 (Lp.toTemperedDistribution (𝓕⁻ f))) := by
118+
rw [fourier_toTemperedDistribution_eq]
119+
_ = _ := fourierInv_fourier_eq _
120+
121+
end MeasureTheory.Lp
122+
95123
end FourierTransform

0 commit comments

Comments
 (0)