Putting evenly spaced simple zeros of a periodic function on the cylinder into the normal form z or z̄
ProvedCauchyRiemannIndex.exists_normal_form_of_simple_zerosLet and for . Let be smooth and -periodic in the second variable, with for every . Suppose that at each of these points the derivative has the form
where either for all , or for all . Then there are and a smooth function , -periodic in the second variable, such that
- whenever ;
- and have the same zeros: ;
- for every and every with ,
This replaces a function on the cylinder whose zeros are simple, of one orientation, and evenly spaced on the circle , by one with the same zero set that is exactly or near each zero, which is the normal form required of antilinear perturbation terms for Cauchy–Riemann operators.
Formalization Note The flag cj : Bool selects : false gives Complex.equivRealProdCLM.symm (), true gives its composition with complex conjugation. The derivative hypothesis is HasFDerivAt f (c m • L) (0, t_m), the normal form is stated as β (0 + z.re, t_m + z.im) = if cj then starRingEnd ℂ z else z, and smoothness is ContDiff ℝ ∞.
import Mathlib.Analysis.Complex.Basic import Mathlib.Analysis.Calculus.ContDiff.Basic import Mathlib.Analysis.Calculus.FDeriv.Basic
namespace CauchyRiemannIndex
open scoped ContDiff
/-- Let `f : ℝ × S¹ → ℂ` be smooth and `1`-periodic in `t`, vanishing at the `N` points
`ζ_m = (0, (m + 1/2)/N)`, where its derivative is `c_m L` with `c_m ≠ 0` and `L(x, y) = x + iy`
(or `L(x, y) = x - iy` for all `m` when `cj = true`). Then there are `r ∈ (0, 1/20]` and a smooth
`t`-periodic `β` with the same zero set as `f`, equal to `f` for `|s| ≥ 1/2`, and with
`β(ζ_m + z) = z` (resp. `z̄`) for `|z| < r`. -/
theorem exists_normal_form_of_simple_zeros (N : ℕ) (hN : 0 < N) (cj : Bool) (f : ℝ × ℝ → ℂ)
(hf : ContDiff ℝ ∞ f) (hper : ∀ s t, f (s, t + 1) = f (s, t))
(hzero : ∀ m : Fin N, f (0, ((m : ℝ) + 1 / 2) / N) = 0)
(c : Fin N → ℂ) (hc : ∀ m, c m ≠ 0)
(hD : ∀ m : Fin N, HasFDerivAt f (c m • (if cj then
(Complex.conjCLE.toContinuousLinearMap).comp
Complex.equivRealProdCLM.symm.toContinuousLinearMap
else Complex.equivRealProdCLM.symm.toContinuousLinearMap)) (0, ((m : ℝ) + 1 / 2) / N)) :
∃ r : ℝ, 0 < r ∧ r ≤ 1 / 20 ∧ ∃ β : ℝ × ℝ → ℂ, ContDiff ℝ ∞ β ∧
(∀ s t, β (s, t + 1) = β (s, t)) ∧
(∀ x : ℝ × ℝ, 1 / 2 ≤ |x.1| → β x = f x) ∧ (∀ x, β x = 0 ↔ f x = 0) ∧
∀ m : Fin N, ∀ z : ℂ, ‖z‖ < r →
β (0 + z.re, ((m : ℝ) + 1 / 2) / N + z.im) = if cj then (starRingEnd ℂ) z else z := by
sorry
end CauchyRiemannIndex