Documentation

TauCeti.Analysis.Distribution.TestFunction.Pullback

Pullback of test forms and pushforward of currents #

Let Ω ⊆ E and Ω' ⊆ E' be open subsets of real normed spaces, and let Φ : E → E' be smooth on Ω and proper from Ω to Ω': the set Ω ∩ Φ ⁻¹' K is compact for every compact K ⊆ Ω'. The pullback of a test k-form ω on Ω' is the test k-form on Ω (Φ^* ω) x = ω (Φ x) ∘ (DΦ x, …, DΦ x) for x ∈ Ω, extended by zero off Ω. Nothing is assumed about Φ off Ω, so Φ may be a chart transition or a smooth map defined only on Ω.

The pullback TestFunction.pullbackCLM is continuous for the LF topology of test functions. So the pushforward of a current T on Ω (a continuous linear functional on test forms) is the current Φ_# T = T ∘ Φ^* on Ω'. Pullback commutes with the exterior derivative, hence pushforward commutes with the boundary ∂T = T ∘ d. A bound ‖DΦ‖ ≤ L on Ω gives M(Φ_# T) ≤ L ^ k M(T).

Multiplying by a test function χ on Ω removes the need for properness: the pullback with a cutoff χ Φ^* ω is a test form supported in tsupport χ for every map Φ smooth on Ω. It is used to push forward currents whose support is compact, see TauCeti.Analysis.Distribution.CutoffPushforward.

Main declarations #

Implementation notes #

Continuity is checked on each space of tests supported in a fixed compact K ⊆ Ω', whose pullbacks are supported in the compact set Ω ∩ Φ ⁻¹' K. There the derivatives of Φ^* ω are bounded by those of ω, through the Leibniz bound norm_iteratedFDerivWithin_clm_apply and the Faà di Bruno bound norm_iteratedFDerivWithin_comp_le. The pointwise naturality of the exterior derivative is Mathlib's extDeriv_pullback.

References #

noncomputable def TestFunction.pullbackCLM {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {k : ℕ} (Φ : E → E') (hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω) (hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)) :

The pullback of test k-forms along a map Φ that is smooth on Ω and proper from Ω to Ω' (the set Ω ∩ Φ ⁻¹' K is compact for every compact K ⊆ Ω'), as a continuous linear map. On Ω it is (Φ^* ω) x = ω (Φ x) ∘ (DΦ x, …, DΦ x), see TestFunction.pullbackCLM_apply_of_mem, and it vanishes off Ω. Precomposing a current on Ω with it gives the pushforward current on Ω'.

Instances For
    theorem TestFunction.coe_pullbackCLM {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) :
    ⇑((pullbackCLM Φ hΦ hΦp) ω) = (↑Ω).indicator fun (x : E) => (ω (Φ x)).compContinuousLinearMap (fderiv ℝ Φ x)

    The pullback of a test form is the pointwise pullback, extended by zero off Ω.

    @[simp]
    theorem TestFunction.pullbackCLM_apply_of_mem {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) {x : E} (hx : x ∈ Ω) :
    ((pullbackCLM Φ hΦ hΦp) ω) x = (ω (Φ x)).compContinuousLinearMap (fderiv ℝ Φ x)

    On Ω, the pullback is (Φ^* ω) x = ω (Φ x) ∘ (DΦ x, …, DΦ x).

    @[simp]
    theorem TestFunction.pullbackCLM_apply_of_notMem {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) {x : E} (hx : x ∉ Ω) :
    ((pullbackCLM Φ hΦ hΦp) ω) x = 0

    Off Ω, the pullback vanishes.

    theorem TestFunction.tsupport_pullbackCLM_subset {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) :
    tsupport ⇑((pullbackCLM Φ hΦ hΦp) ω) ⊆ ↑Ω ∩ Φ ⁻¹' tsupport ⇑ω

    The support of a pullback lies over the support of the form.

    theorem TestFunction.norm_pullbackCLM_apply_le {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) (x : E) :
    ‖((pullbackCLM Φ hΦ hΦp) ω) x‖ ≤ ‖ω (Φ x)‖ * ‖fderiv ℝ Φ x‖ ^ k

    The pointwise norm of a pullback of a k-form is at most ‖ω (Φ x)‖ ‖DΦ x‖ ^ k.

    theorem TestFunction.pullbackCLM_id {E : Type u_1} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {k : ℕ} {Ω' : TopologicalSpace.Opens E} (h : Ω' ≤ Ω) (hp : ∀ (K : Set E), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ id ⁻¹' K)) :

    Pulling back along the identity of E from Ω' ⊆ Ω is extension by zero.

    theorem TestFunction.pullbackCLM_comp {E : Type u_1} {E' : Type u_2} {E'' : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup E''] [NormedSpace ℝ E''] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Ω'' : TopologicalSpace.Opens E''} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} {Ψ : E' → E''} (hΨ : ContDiffOn ℝ (↑⊤) Ψ ↑Ω') (hΨp : ∀ (K : Set E''), IsCompact K → K ⊆ ↑Ω'' → IsCompact (↑Ω' ∩ Ψ ⁻¹' K)) (hΨΦ : ContDiffOn ℝ (↑⊤) (Ψ ∘ Φ) ↑Ω) (hΨΦp : ∀ (K : Set E''), IsCompact K → K ⊆ ↑Ω'' → IsCompact (↑Ω ∩ Ψ ∘ Φ ⁻¹' K)) (hmaps : Set.MapsTo Φ ↑Ω ↑Ω') :
    pullbackCLM (Ψ ∘ Φ) hΨΦ hΨΦp = pullbackCLM Φ hΦ hΦp ∘SL pullbackCLM Ψ hΨ hΨp

    Functoriality of pullback: (Ψ ∘ Φ)^* = Φ^* ∘ Ψ^* when Φ maps Ω into Ω'.

    theorem TestFunction.extDerivCLM_pullbackCLM {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) :
    extDerivCLM ((pullbackCLM Φ hΦ hΦp) ω) = (pullbackCLM Φ hΦ hΦp) (extDerivCLM ω)

    Naturality of the exterior derivative: d (Φ^* ω) = Φ^* (d ω).

    theorem TestFunction.pullbackCLM_comp_extDerivCLM {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} :

    Naturality of the exterior derivative, as an identity of continuous linear maps.

    Pullback with a cutoff #

    A test function χ on Ω localizes the pullback: χ Φ^* ω is supported in the compact set tsupport χ whatever Φ does, so no properness of Φ is needed. Precomposing a current on Ω with this map gives its pushforward along Φ when χ = 1 on a neighborhood of the current's support.

    noncomputable def TestFunction.cutoffPullbackCLM {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {k : ℕ} (χ : TestFunction Ω ℝ ⊤) (Φ : E → E') (hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω) :

    The pullback with a cutoff ω ↦ χ Φ^* ω of test k-forms on Ω' along a map Φ smooth on Ω, where χ is a test function on Ω: its value at x is χ x • ω (Φ x) ∘ (DΦ x, …, DΦ x) (TestFunction.cutoffPullbackCLM_apply). It is supported in tsupport χ, so Φ need not be proper, and nothing is assumed about where Φ maps Ω. For a current T on Ω whose support lies in the interior of {χ = 1}, T ∘ (χ Φ^*) is the pushforward of T along Φ; it does not depend on such χ and agrees with T ∘ Φ^* when Φ is proper (see TauCeti.Analysis.Distribution.CutoffPushforward).

    Instances For
      @[simp]
      theorem TestFunction.cutoffPullbackCLM_apply {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {χ : TestFunction Ω ℝ ⊤} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) (x : E) :
      ((χ.cutoffPullbackCLM Φ hΦ) ω) x = χ x • (ω (Φ x)).compContinuousLinearMap (fderiv ℝ Φ x)

      The pullback with a cutoff is x ↦ χ x • ω (Φ x) ∘ (DΦ x, …, DΦ x).

      theorem TestFunction.tsupport_cutoffPullbackCLM_subset {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {χ : TestFunction Ω ℝ ⊤} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) :
      tsupport ⇑((χ.cutoffPullbackCLM Φ hΦ) ω) ⊆ tsupport ⇑χ ∩ Φ ⁻¹' tsupport ⇑ω

      The support of a pullback with a cutoff lies in the support of the cutoff, over the support of the form.

      theorem TestFunction.norm_cutoffPullbackCLM_apply_le {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {χ : TestFunction Ω ℝ ⊤} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) (x : E) :
      ‖((χ.cutoffPullbackCLM Φ hΦ) ω) x‖ ≤ |χ x| * (‖ω (Φ x)‖ * ‖fderiv ℝ Φ x‖ ^ k)

      The pointwise norm of a pullback of a k-form with a cutoff is at most |χ x| ‖ω (Φ x)‖ ‖DΦ x‖ ^ k.

      theorem TestFunction.extDerivCLM_cutoffPullbackCLM_apply {E : Type u_1} {E' : Type u_2} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {χ : TestFunction Ω ℝ ⊤} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} (ω : TestFunction Ω' (E' [⋀^Fin k]→L[ℝ] F) ⊤) {x : E} (hx : ∀ᶠ (y : E) in nhds x, χ y = 1) :
      (extDerivCLM ((χ.cutoffPullbackCLM Φ hΦ) ω)) x = ((χ.cutoffPullbackCLM Φ hΦ) (extDerivCLM ω)) x

      Naturality of the exterior derivative where the cutoff is one: d (χ Φ^* ω) = χ Φ^* (d ω) near every point at which χ is eventually equal to one.

      theorem TestFunction.cutoffPullbackCLM_cutoffPullbackCLM {E : Type u_1} {E' : Type u_2} {E'' : Type u_3} {F : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup E''] [NormedSpace ℝ E''] [NormedAddCommGroup F] [NormedSpace ℝ F] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Ω'' : TopologicalSpace.Opens E''} {Φ : E → E'} {k : ℕ} {χ : TestFunction Ω ℝ ⊤} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {Ψ : E' → E''} {χ' : TestFunction Ω' ℝ ⊤} {hΨ : ContDiffOn ℝ (↑⊤) Ψ ↑Ω'} {hΨΦ : ContDiffOn ℝ (↑⊤) (Ψ ∘ Φ) ↑Ω} (ω : TestFunction Ω'' (E'' [⋀^Fin k]→L[ℝ] F) ⊤) (x : E) :
      ((χ.cutoffPullbackCLM Φ hΦ) ((χ'.cutoffPullbackCLM Ψ hΨ) ω)) x = χ' (Φ x) • ((χ.cutoffPullbackCLM (Ψ ∘ Φ) hΨΦ) ω) x

      Composition of pullbacks with cutoffs: χ Φ^* (χ' Ψ^* ω) = (χ' ∘ Φ) χ (Ψ ∘ Φ)^* ω. Where Φ x ∉ Ω' both sides vanish, since χ' is supported in Ω'.

      theorem ContinuousLinearMap.comp_pullbackCLM_comp_extDerivCLM {E : Type u_1} {E' : Type u_2} {F : Type u_3} {G : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] [AddCommGroup G] [Module ℝ G] [TopologicalSpace G] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} (T : TestFunction Ω (E [⋀^Fin (k + 1)]→L[ℝ] F) ⊤ →L[ℝ] G) :

      Pushforward commutes with the boundary: for a current T on Ω, the pushforward Φ_# T = T ∘ Φ^* satisfies ∂ (Φ_# T) = Φ_# (∂ T), where ∂ T = T ∘ d.

      theorem Distribution.mass_comp_pullbackCLM_le {E : Type u_1} {E' : Type u_2} {F : Type u_3} {V : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup V] [NormedSpace ℝ V] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} {𝓕 : Type u_5} [FunLike 𝓕 (TestFunction Ω (E [⋀^Fin k]→L[ℝ] F) ⊤) V] [LinearMapClass 𝓕 ℝ (TestFunction Ω (E [⋀^Fin k]→L[ℝ] F) ⊤) V] (T : 𝓕) {L : NNReal} (hL : ∀ x ∈ Ω, ‖fderiv ℝ Φ x‖ ≤ ↑L) :
      mass (⇑T ∘ ⇑(TestFunction.pullbackCLM Φ hΦ hΦp)) ≤ ↑L ^ k * mass ⇑T

      The mass of a pushforward: if ‖DΦ‖ ≤ L on Ω, then the pushforward T ∘ Φ^* of a k-current T has mass at most L ^ k times the mass of T.

      theorem Distribution.HasLocallyFiniteMass.comp_pullbackCLM {E : Type u_1} {E' : Type u_2} {F : Type u_3} {V : Type u_4} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup E'] [NormedSpace ℝ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup V] {Ω : TopologicalSpace.Opens E} {Ω' : TopologicalSpace.Opens E'} {Φ : E → E'} {k : ℕ} {hΦ : ContDiffOn ℝ (↑⊤) Φ ↑Ω} {hΦp : ∀ (K : Set E'), IsCompact K → K ⊆ ↑Ω' → IsCompact (↑Ω ∩ Φ ⁻¹' K)} {T : TestFunction Ω (E [⋀^Fin k]→L[ℝ] F) ⊤ → V} (hT : HasLocallyFiniteMass T) :

      Pushforward preserves locally finite mass. If a map T on test k-forms on Ω has locally finite mass, so does its pushforward T ∘ Φ^* on Ω'. On a compact K ⊆ Ω' its order-zero bound is that of T on the compact set Ω ∩ Φ ⁻¹' K, times a bound for ‖DΦ‖ ^ k there.