Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 23 additions & 17 deletions Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ Authors: Moritz Doll
-/
module

public import Mathlib.Analysis.LocallyConvex.WithSeminorms
public import Mathlib.Analysis.Calculus.IteratedDeriv.Defs
public import Mathlib.Analysis.Distribution.TemperateGrowth
public import Mathlib.Analysis.Normed.Group.ZeroAtInfty
public import Mathlib.Analysis.Normed.Lp.SmoothApprox
public import Mathlib.Analysis.SpecialFunctions.Pow.Real
public import Mathlib.Analysis.Distribution.TemperateGrowth
public import Mathlib.Topology.Algebra.UniformFilterBasis
public import Mathlib.MeasureTheory.Function.L2Space
public import Mathlib.Tactic.FunProp
public import Mathlib.Topology.Algebra.UniformFilterBasis

import Mathlib.Analysis.Calculus.ContDiff.Bounds
import Mathlib.Analysis.Calculus.ContDiff.Operations
import Mathlib.Analysis.Normed.Lp.SmoothApprox
import Mathlib.Tactic.MoveAdd

Comment thread
b-mehta marked this conversation as resolved.

/-!
# Schwartz space
Expand Down Expand Up @@ -230,7 +236,7 @@ variable [NormedField 𝕜] [NormedSpace 𝕜 F] [SMulCommClass ℝ 𝕜 F] [Nor
instance instSMul : SMul 𝕜 𝓢(E, F) :=
⟨fun c f =>
{ toFun := c • (f : E → F)
smooth' := (f.smooth _).const_smul c
smooth' := by exact (f.smooth _).const_smul c
decay' k n := by
use f.seminormAux k n * ‖c‖
intro x
Expand Down Expand Up @@ -263,13 +269,13 @@ private theorem seminormAux_smul_le (k n : ℕ) (c : 𝕜) (f : 𝓢(E, F)) :
instance instNSMul : SMul ℕ 𝓢(E, F) :=
⟨fun c f =>
{ toFun := c • (f : E → F)
smooth' := (f.smooth _).const_smul c
smooth' := by exact (f.smooth _).const_smul c
decay' := by simpa [← Nat.cast_smul_eq_nsmul ℝ] using ((c : ℝ) • f).decay' }⟩

instance instZSMul : SMul ℤ 𝓢(E, F) :=
⟨fun c f =>
{ toFun := c • (f : E → F)
smooth' := (f.smooth _).const_smul c
smooth' := by exact (f.smooth _).const_smul c
decay' := by simpa [← Int.cast_smul_eq_zsmul ℝ] using ((c : ℝ) • f).decay' }⟩

end SMul
Expand All @@ -278,7 +284,7 @@ section Zero

instance instZero : Zero 𝓢(E, F) :=
⟨{ toFun := fun _ => 0
smooth' := contDiff_const
smooth' := by exact contDiff_const
decay' := fun _ _ => ⟨1, fun _ => by simp⟩ }⟩

instance instInhabited : Inhabited 𝓢(E, F) :=
Expand All @@ -305,7 +311,7 @@ section Neg

instance instNeg : Neg 𝓢(E, F) :=
⟨fun f =>
⟨-f, (f.smooth _).neg, fun k n => by
⟨-f, by exact (f.smooth _).neg, fun k n => by
use f.seminormAux k n
intro x
grw [f.decay_neg_aux k n x, f.le_seminormAux k n x]⟩⟩
Expand All @@ -319,7 +325,7 @@ section Add

instance instAdd : Add 𝓢(E, F) :=
⟨fun f g =>
⟨f + g, (f.smooth _).add (g.smooth _), fun k n => by
⟨f + g, by exact (f.smooth _).add (g.smooth _), fun k n => by
use f.seminormAux k n + g.seminormAux k n
intro x
grw [decay_add_le_aux k n f g x, f.le_seminormAux k n x, g.le_seminormAux k n x]⟩⟩
Expand All @@ -341,7 +347,7 @@ section Sub

instance instSub : Sub 𝓢(E, F) :=
⟨fun f g =>
⟨f - g, (f.smooth _).sub (g.smooth _), by
⟨f - g, by exact (f.smooth _).sub (g.smooth _), by
intro k n
refine ⟨f.seminormAux k n + g.seminormAux k n, fun x => ?_⟩
grw [← f.le_seminormAux k n x, ← g.le_seminormAux k n x]
Expand Down Expand Up @@ -681,11 +687,11 @@ variable [NormedSpace 𝕜 E] [NormedSpace 𝕜 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. -/
def bilinLeftCLM (B : E →L[𝕜] F →L[𝕜] G) {g : D → F} (hg : g.HasTemperateGrowth) :
𝓢(D, E) →L[𝕜] 𝓢(D, G) := by
refine mkCLM (fun f x => B (f x) (g x))
𝓢(D, E) →L[𝕜] 𝓢(D, G) :=
mkCLM (fun f x => B (f x) (g x))
(fun _ _ _ => by simp) (fun _ _ _ => by simp)
(fun f => (B.bilinearRestrictScalars ℝ).isBoundedBilinearMap.contDiff.comp
((f.smooth ⊤).prodMk hg.1)) ?_
((f.smooth ⊤).prodMk hg.1)) <| by
rintro ⟨k, n⟩
rcases hg.norm_iteratedFDeriv_le_uniform n with ⟨l, C, hC, hgrowth⟩
use
Expand Down Expand Up @@ -917,9 +923,9 @@ variable [NormedSpace 𝕜 F]
/-- 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. -/
def compCLM {g : D → E} (hg : g.HasTemperateGrowth)
(hg_upper : ∃ (k : ℕ) (C : ℝ), ∀ x, ‖x‖ ≤ C * (1 + ‖g x‖) ^ k) : 𝓢(E, F) →L[𝕜] 𝓢(D, F) := by
refine mkCLM (fun f => f ∘ g) (fun _ _ _ => by simp) (fun _ _ _ => rfl)
(fun f => (f.smooth ⊤).comp hg.1) ?_
(hg_upper : ∃ (k : ℕ) (C : ℝ), ∀ x, ‖x‖ ≤ C * (1 + ‖g x‖) ^ k) : 𝓢(E, F) →L[𝕜] 𝓢(D, F) :=
mkCLM (fun f => f ∘ g) (fun _ _ _ => by simp) (fun _ _ _ => rfl)
(fun f => (f.smooth ⊤).comp hg.1) <| by
rintro ⟨k, n⟩
rcases hg.norm_iteratedFDeriv_le_uniform n with ⟨l, C, hC, hgrowth⟩
rcases hg_upper with ⟨kg, Cg, hg_upper'⟩
Expand Down
13 changes: 10 additions & 3 deletions Mathlib/Analysis/Distribution/TemperateGrowth.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,18 @@ Authors: Moritz Doll, Anatole Dedecker, Sébastien Gouëzel
-/
module

public import Mathlib.Analysis.Calculus.ContDiff.Bounds
public import Mathlib.Analysis.SpecialFunctions.JapaneseBracket
public import Mathlib.Analysis.InnerProductSpace.Calculus
public import Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries
public import Mathlib.Analysis.Calculus.ContDiff.Defs
public import Mathlib.Analysis.InnerProductSpace.Defs
public import Mathlib.MeasureTheory.Function.L1Space.Integrable
public import Mathlib.MeasureTheory.Integral.Bochner.Basic
public import Mathlib.Tactic.MoveAdd

import Mathlib.Analysis.Calculus.ContDiff.Bounds
import Mathlib.Analysis.InnerProductSpace.Calculus
import Mathlib.Analysis.SpecialFunctions.JapaneseBracket
import Mathlib.Analysis.SpecialFunctions.Pow.Deriv

/-! # Functions and measures of temperate growth -/

@[expose] public section
Expand Down
11 changes: 6 additions & 5 deletions Mathlib/Analysis/Fourier/FourierTransformDeriv.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ Authors: Alex Kontorovich, David Loeffler, Heather Macbeth, Sébastien Gouëzel
-/
module

public import Mathlib.Analysis.Calculus.ParametricIntegral
public import Mathlib.Analysis.Calculus.ContDiff.CPolynomial
public import Mathlib.Analysis.Calculus.FDeriv.Analytic
public import Mathlib.Analysis.Fourier.AddCircle
public import Mathlib.Analysis.Fourier.FourierTransform
public import Mathlib.Analysis.Calculus.FDeriv.Analytic
public import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts
public import Mathlib.Analysis.Calculus.ContDiff.Bounds

import Mathlib.Analysis.Calculus.ContDiff.Bounds
import Mathlib.Analysis.Calculus.ContDiff.CPolynomial
import Mathlib.Analysis.Calculus.LineDeriv.IntegrationByParts
import Mathlib.Analysis.Calculus.ParametricIntegral

/-!
# Derivatives of the Fourier transform
Expand Down
2 changes: 2 additions & 0 deletions Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ public import Mathlib.Analysis.SpecialFunctions.Integrals.Basic
public import Mathlib.Analysis.Calculus.Deriv.Shift
public import Mathlib.Analysis.SpecificLimits.RCLike

import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv

/-!
# Estimates for the complex logarithm

Expand Down
2 changes: 2 additions & 0 deletions Mathlib/Analysis/SpecialFunctions/Gamma/Digamma.lean
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ module
public import Mathlib.Analysis.Meromorphic.Complex
public import Mathlib.NumberTheory.Harmonic.GammaDeriv

import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv

/-!
# The digamma function

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ Authors: David Loeffler
-/
module

public import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform
public import Mathlib.Analysis.Fourier.PoissonSummation

import Mathlib.Analysis.SpecialFunctions.Gaussian.FourierTransform

/-!
# Poisson summation applied to the Gaussian

Expand Down
3 changes: 2 additions & 1 deletion Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ module

public import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog
public import Mathlib.Analysis.SpecialFunctions.NonIntegrable
public import Mathlib.Analysis.SpecialFunctions.Pow.Deriv

import Mathlib.Analysis.SpecialFunctions.Pow.Deriv

/-!
# Integrability of Special Functions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ public import Mathlib.Analysis.SpecialFunctions.Log.PosLog
public import Mathlib.LinearAlgebra.Complex.FiniteDimensional
public import Mathlib.MeasureTheory.Integral.CircleIntegral

import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv

/-!
# Integrability for Logarithms of Meromorphic Functions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ module

public import Mathlib.Analysis.SpecialFunctions.Integrability.LogMeromorphic

import Mathlib.Analysis.Analytic.Order
import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv

/-!
# Integral of `log ∘ sin`

Expand Down
9 changes: 6 additions & 3 deletions Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ Authors: Moritz Doll
-/
module

public import Mathlib.Analysis.SpecialFunctions.Integrability.Basic
public import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar
public import Mathlib.MeasureTheory.Integral.Layercake
public import Mathlib.MeasureTheory.Function.L1Space.Integrable
public import Mathlib.MeasureTheory.Measure.Haar.OfBasis

import Mathlib.Analysis.SpecialFunctions.Integrability.Basic
import Mathlib.MeasureTheory.Integral.Layercake
import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar

/-!
# Japanese Bracket
Expand Down
3 changes: 2 additions & 1 deletion Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ Authors: Chris Hughes, Abhimanyu Pallavi Sudhir, Jean Lo, Calle Sönne, Sébasti
module

public import Mathlib.Analysis.SpecialFunctions.Pow.Continuity
public import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv
public import Mathlib.Analysis.Calculus.FDeriv.Extend
public import Mathlib.Analysis.Calculus.Deriv.Prod
public import Mathlib.Analysis.SpecialFunctions.Log.Deriv
public import Mathlib.Analysis.SpecialFunctions.Trigonometric.Deriv

import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv

/-!
# Derivatives of power function on `ℂ`, `ℝ`, `ℝ≥0`, and `ℝ≥0∞`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,15 @@ Authors: Anatole Dedecker, Yury Kudryashov
-/
module

public import Mathlib.Analysis.LocallyConvex.Bounded
public import Mathlib.Analysis.Normed.Field.Basic
public import Mathlib.Topology.Algebra.Algebra.Equiv
public import Mathlib.Topology.Algebra.Module.Equiv
public import Mathlib.Topology.Algebra.Module.UniformConvergence
public import Mathlib.Topology.Algebra.SeparationQuotient.Section
public import Mathlib.Topology.Hom.ContinuousEvalConst
public import Mathlib.Topology.UniformSpace.UniformConvergenceTopology

import Mathlib.Topology.Algebra.Module.Equiv
import Mathlib.Topology.Algebra.SeparationQuotient.Section
import Mathlib.Topology.Algebra.Module.UniformConvergence

/-!
# Topologies of uniform convergence on the space of continuous linear maps
Expand Down
Loading