Weierstrass division: the distinguished variable, regularity and the splitting operators #
The Weierstrass preparation theorem, in the form Bierstone and Milman use it, prepares a germ f
with f(0, …, 0, x_m) ∼ x_m^e in a distinguished last variable [BM88, proof of Theorem 4.4, p. 24].
Here the distinguished variable is the coordinate 0 of Fin (m + 1) and the remaining variables
are the Fin.succ j, because Mathlib's isomorphism MvPowerSeries.finSuccEquiv between
MvPowerSeries (Fin (m + 1)) R and PowerSeries (MvPowerSeries (Fin m) R) singles out the first
variable: the printed x_m is our x_0 and the printed x̃ our x_1, …, x_m. This relabelling
of the coordinates is the convention of every module of the Weierstrass theory and of the germ
theory built on it.
splitFirst K mis that isomorphism;liftTail cembeds a series in the tail variables andliftFirst ea series inx_0alone into the series in all variables.IsRegularIn g d:g(x_0, 0, …, 0) = x_0^d · e(x_0)withe(0) ≠ 0, stated as the hypothesis of Mathlib's Weierstrass division: the image ofsplitFirst K m gin the residue field of the tail ringMvPowerSeries (Fin m) KhasPowerSeries.orderexactlyd.wQ d FandwR d Fare the splitting operators:F = x_0^d · wQ d F + wR d FwithwR d Fofx_0-degree< d, coefficientwise (the norm bounds are inSplitting.lean). They are the operators of the Banach-algebra proof of the division theorem [GR71, Kapitel I].weierstrassPoly d c = x_0^d + ∑_{j < d} c_j x_0^{d - 1 - j}for coefficientsc_jin the tail variables, the printedx_m^d + ∑_{j=1}^d c_j(x̃) x_m^{d-j}.polydisc K ρis the open polydisc{x | ∀ k, ‖x_k‖ < ρ_k}of a radius vector (mem_polydisc_iff; it contains a neighbourhood of0,eventually_abs_lt), andTailVanishes hsays thathhas no purex_0-monomials, i.e.h(x_0, 0, …, 0) = 0.
The coefficient field K is ℝ or ℂ ([RCLike K]).
The split of the distinguished variable x_0 (Mathlib's finSuccEquiv).
Equations
Instances For
A series in the tail variables x_1, …, x_m, as a series in all variables.
Equations
Instances For
g is x_0-regular of order d: g(x_0, 0, …, 0) = x_0^d e(x_0) with e(0) ≠ 0, i.e. the
image of splitFirst K m g in the residue field of the tail ring MvPowerSeries (Fin m) K has
order exactly d (Mathlib's Weierstrass hypothesis g.map (IsLocalRing.residue A) ≠ 0 with the
order made explicit). This is the printed condition f_a(0, …, 0, x_m) ∼ x_m^e of
[BM88, proof of Theorem 4.4, p. 24].
Equations
- Analytic.IsRegularIn g d = (((PowerSeries.map (IsLocalRing.residue (MvPowerSeries (Fin m) K))) ((Analytic.splitFirst K m) g)).order = ↑d)
Instances For
The quotient part of the splitting F = x_0^d · wQ d F + wR d F: the terms of x_0-degree
≥ d, divided by x_0^d.
Equations
- Analytic.wQ d F ν = (MvPowerSeries.coeff (ν + Finsupp.single 0 d)) F
Instances For
The remainder part of the splitting: the terms of x_0-degree < d.
Equations
- Analytic.wR d F ν = if ν 0 < d then (MvPowerSeries.coeff ν) F else 0
Instances For
The Weierstrass polynomial x_0^d + ∑_{j < d} c_j x_0^{d - 1 - j} with coefficients in the
tail variables: the printed x_m^d + ∑_{j=1}^d c_j(x̃) x_m^{d-j} of BM88, Theorem 4.4, proof,
p. 24.
Equations
- Analytic.weierstrassPoly d c = MvPowerSeries.X 0 ^ d + ∑ j : Fin d, Analytic.liftTail (c j) * MvPowerSeries.X 0 ^ (d - 1 - ↑j)
Instances For
A series in the single variable x_0, as a series in all variables.
Equations
- Analytic.liftFirst e = (MvPowerSeries.rename fun (x : Fin 1) => 0) e
Instances For
A series h in all variables with h(x_0, 0, …, 0) = 0: no pure x_0-monomials.
Equations
- Analytic.TailVanishes h = ∀ (k : ℕ), (MvPowerSeries.coeff (Finsupp.single 0 k)) h = 0