A linear Whitney–Hadamard operator, with smooth dependence on parameters
Provedexists_linear_contDiff_hasCompactSupport_apply_sq_eq_of_even_of_oddLet be a real normed space (a normed additive commutative group with a real normed space structure). The assertion is the existence of a single operator on complex-valued functions of one real variable, , with three properties. First, is linear on smooth compactly supported functions: for all that are with compact support and all , one has as functions. Secondly, for every compactly supported , the function is again with compact support, and: if is even, i.e. for all real , then for all real ; if is odd, i.e. for all real , then for all real , the factor being its image in . Thirdly, acts well on families: for every compactly supported , the function on is with compact support.
This packages Whitney's theorem on even smooth functions and the odd-function (Hadamard) variant into one operator that is simultaneously linear on test functions and compatible with smooth compactly supported families over a parameter space . It is used in the analysis of archimedean weight characters for , in AutomorphicForm.GL2Real.exists_linear_entrySlice_archWeightChar_one_splitTransform_eq and AutomorphicForm.GL2Real.exists_linear_entrySlice_archWeightChar_zero_splitTransform_eq, where even and odd slices of a test function must be rewritten as functions of with control of smoothness and supports in the remaining variables.
import Mathlib.Analysis.Calculus.ContDiff.Basic import Mathlib.Analysis.Complex.Basic set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false
theorem exists_linear_contDiff_hasCompactSupport_apply_sq_eq_of_even_of_odd
(P : Type) [NormedAddCommGroup P] [NormedSpace ℝ P] :
∃ W : (ℝ → ℂ) → (ℝ → ℂ),
(∀ f g : ℝ → ℂ, ContDiff ℝ (⊤ : ℕ∞) f → HasCompactSupport f → ContDiff ℝ (⊤ : ℕ∞) g →
HasCompactSupport g → ∀ a b : ℂ, W (fun x => a * f x + b * g x) = fun x => a * W f x + b * W g x) ∧
(∀ f : ℝ → ℂ, ContDiff ℝ (⊤ : ℕ∞) f → HasCompactSupport f →
ContDiff ℝ (⊤ : ℕ∞) (W f) ∧ HasCompactSupport (W f) ∧
((∀ x : ℝ, f (-x) = f x) → ∀ x : ℝ, W f (x ^ 2) = f x) ∧
((∀ x : ℝ, f (-x) = -f x) → ∀ x : ℝ, (x : ℂ) * W f (x ^ 2) = f x)) ∧
∀ H : ℝ × P → ℂ, ContDiff ℝ (⊤ : ℕ∞) H → HasCompactSupport H →
ContDiff ℝ (⊤ : ℕ∞) (fun q : ℝ × P => W (fun x => H (x, q.2)) q.1) ∧
HasCompactSupport (fun q : ℝ × P => W (fun x => H (x, q.2)) q.1) := by sorry