Weighted cylinder coordinates and the -Cauchy–Riemann operator near
DefinitionFiniteEnergyPlane_TubeFamilyThroughout, carries the measure cylMeasure (Lebesgue measure on ), LpCyl 1 4, and W1p 4 1 is the space of triples from CauchyRiemannIndex. The coordinate identifies the cylinder with , and corresponds to .
Weights and cut-offs.
IsSlopeWeight χ a b: is , on and on .IsLeftCutoff β: is , on and on .cToVecis the inverse ofvecToC.fact_one_le_four_ennrealis the instance in needed to form .
Normal coefficient. For , normalCoeff Jbar (s, t) is the real matrix of
in the basis of .
Coefficients from the plane. IsPlaneCoeff S, for , means: there is a map with
for all . Equivalently, under : the cylinder operator is the pull-back of a smooth zeroth-order perturbation of on all of , including .
The nonlinear operator. QDom . For QDom and weights , let (with representatives of the classes)
with computed from , the weights, and the derivative components of the triples. Put and
qMap Jbar χT χN β x is the pair of classes of the two components of qPoint (toLpOrZero: the class when the function lies in , and otherwise).
Role. A zero of qMap is a -holomorphic map near , with the tangential component weighted by , the normal component weighted by , and its value at split off. These are the objects for statements about the space of -holomorphic planes near for a standard tube structure (FiniteEnergyPlane_Tube).
import Definitions.Def_FiniteEnergyPlane_Tube
/-!
# The Cauchy–Riemann operator of a standard tube structure on weighted cylinder Sobolev spaces
For a structure `Jbar` on `ℂ × ℂ` (see `FiniteEnergyPlane_Tube`), maps `G = (ψ, v) : ℂ → ℂ × ℂ`
near `z ↦ (z, 0)` are parametrized on the cylinder `ℝ × ℝ/ℤ`, `z = e^{2π(s+it)}`, by
`x = (ζT, c, ζN) ∈ W^{1,4} × ℂ × W^{1,4}`:
* `ψ = z + e^{χT(s)} ζT`;
* `v = β(s) c + e^{χN(s)} ζN`;
where `χT, χN` are smooth weights with constant slopes near `s = ±∞` and `β` is a cut-off equal
to `1` near `s = -∞`. `qMap` sends `x` to the two weighted components of `∂ₛG + Jbar(G) ∂ₜG` in
`L⁴ × L⁴`. Also: the zero-order coefficient `normalCoeff` of the normal linearization of `Jbar`
along `w = 0`, and the condition `IsPlaneCoeff` that a cylinder coefficient comes from a smooth
zero-order term on the plane.
-/
namespace FiniteEnergyPlane
open MeasureTheory Metric Filter Topology CauchyRiemannIndex
open scoped ContDiff ENNReal Real
noncomputable section
instance fact_one_le_four_ennreal : Fact (1 ≤ (4 : ℝ≥0∞)) := ⟨by norm_num⟩
/-- `χ` is smooth with slope `a` on `(-∞, -1]` and slope `b` on `[1, ∞)`. -/
def IsSlopeWeight (χ : ℝ → ℝ) (a b : ℝ) : Prop :=
ContDiff ℝ ∞ χ ∧ (∀ s ≤ -1, deriv χ s = a) ∧ ∀ s ≥ 1, deriv χ s = b
/-- `ℂ → ℝ²`, the inverse of `vecToC`. -/
def cToVec (z : ℂ) : Vec 1 :=
(EuclideanSpace.equiv (Fin 1 ⊕ Fin 1) ℝ).symm (Sum.elim (fun _ => z.re) (fun _ => z.im))
/-- `β` is smooth, `1` on `(-∞, -1]` and `0` on `[0, ∞)`. -/
def IsLeftCutoff (β : ℝ → ℝ) : Prop :=
ContDiff ℝ ∞ β ∧ (∀ s ≤ -1, β s = 1) ∧ ∀ s ≥ 0, β s = 0
/-- The real `2 × 2` matrix of the zero-order term of the normal linearization of `Jbar` along
`w = 0` in cylinder coordinates: `a ↦ [(∂_w Jbar(z, 0) a)(2πi z, 0)]₂` at `z = cylInf s t`. -/
def normalCoeff (Jbar : ℂ × ℂ → ℂ × ℂ →L[ℝ] ℂ × ℂ) (x : ℝ × ℝ) : Mat 1 :=
Matrix.of fun i j =>
(Sum.elim (fun _ (y : ℂ) => y.re) (fun _ (y : ℂ) => y.im) : Fin 1 ⊕ Fin 1 → ℂ → ℝ) i
((fderiv ℝ (fun w : ℂ => Jbar (cylInf x.1 x.2, w)) 0
((Sum.elim (fun _ => (1 : ℂ)) (fun _ => Complex.I) : Fin 1 ⊕ Fin 1 → ℂ) j))
(((2 * π : ℝ) : ℂ) * Complex.I * cylInf x.1 x.2, 0)).2
/-- The cylinder coefficient `S` is the pull-back of a smooth zero-order term `A` on the plane:
`∂ₛ + J₀ ∂ₜ + S = 4π z̄ (∂_{z̄} + A(z))` under `z = cylInf s t`. -/
def IsPlaneCoeff (S : ℝ × ℝ → Mat 1) : Prop :=
∃ A : ℂ → ℂ →L[ℝ] ℂ, ContDiff ℝ ∞ A ∧ ∀ (s t : ℝ) (a : Vec 1),
vecToC (Matrix.toEuclideanLin (S (s, t)) a) =
(4 * π : ℝ) * (starRingEnd ℂ) (cylInf s t) * A (cylInf s t) (vecToC a)
/-- The unknowns `(ζT, c, ζN)`. -/
abbrev QDom := ↥(W1p 4 1) × ℂ × ↥(W1p 4 1)
open Classical in
/-- The class in `L⁴` of `f`, or `0` if `f ∉ L⁴`. -/
def toLpOrZero (f : ℝ × ℝ → Vec 1) : LpCyl 1 4 :=
if h : MemLp f 4 cylMeasure then h.toLp f else 0
/-- `∂ₛG + Jbar(G) ∂ₜG` at `(s, t)`, with the component weights `e^{-χT}`, `e^{-χN}`. -/
def qPoint (Jbar : ℂ × ℂ → ℂ × ℂ →L[ℝ] ℂ × ℂ) (χT χN β : ℝ → ℝ) (x : QDom) (q : ℝ × ℝ) :
ℂ × ℂ :=
let s := q.1
let z := cylInf q.1 q.2
let T : Triple 1 4 := (x.1 : Triple 1 4)
let N : Triple 1 4 := (x.2.2 : Triple 1 4)
let c := x.2.1
let eT : ℂ := (Real.exp (χT s) : ℂ)
let eN : ℂ := (Real.exp (χN s) : ℂ)
let ψ := z + eT * vecToC (T.1 q)
let ψs := ((2 * π : ℝ) : ℂ) * z + eT * (((deriv χT s : ℝ) : ℂ) * vecToC (T.1 q) + vecToC (T.2.1 q))
let ψt := ((2 * π : ℝ) : ℂ) * Complex.I * z + eT * vecToC (T.2.2 q)
let v := (β s : ℂ) * c + eN * vecToC (N.1 q)
let vs := ((deriv β s : ℝ) : ℂ) * c + eN * (((deriv χN s : ℝ) : ℂ) * vecToC (N.1 q) + vecToC (N.2.1 q))
let vt := eN * vecToC (N.2.2 q)
let E := (ψs, vs) + Jbar (ψ, v) (ψt, vt)
((Real.exp (-χT s) : ℂ) * E.1, (Real.exp (-χN s) : ℂ) * E.2)
/-- The nonlinear Cauchy–Riemann operator of `Jbar` on the unknowns, `QDom → L⁴ × L⁴`. -/
def qMap (Jbar : ℂ × ℂ → ℂ × ℂ →L[ℝ] ℂ × ℂ) (χT χN β : ℝ → ℝ) (x : QDom) :
LpCyl 1 4 × LpCyl 1 4 :=
(toLpOrZero fun q => cToVec (qPoint Jbar χT χN β x q).1,
toLpOrZero fun q => cToVec (qPoint Jbar χT χN β x q).2)
end
end FiniteEnergyPlane