Formal (multivariate) power series - Inverses #
This file defines multivariate formal power series and develops the basic properties of these objects, when it comes about multiplicative inverses.
For φ : MvPowerSeries σ R
and u : Rˣ
is the constant coefficient of φ
,
MvPowerSeries.invOfUnit φ u
is a formal power series such,
and MvPowerSeries.mul_invOfUnit
proves that φ * invOfUnit φ u = 1
.
The construction of the power series invOfUnit
is done by writing that
relation and solving and for its coefficients by induction.
Over a field, all power series φ
have an “inverse” MvPowerSeries.inv φ
,
which is 0
if and only if the constant coefficient of φ
is zero
(by MvPowerSeries.inv_eq_zero
),
and MvPowerSeries.mul_inv_cancel
asserts the equality φ * φ⁻¹ = 1
when
the constant coefficient of φ
is nonzero.
Instances are defined:
- Formal power series over a local ring form a local ring.
- The morphism
MvPowerSeries.map σ f : MvPowerSeries σ A →* MvPowerSeries σ B
induced by a local morphismf : A →+* B
(IsLocalRingHom f
) of commutative rings is a local morphism.
Auxiliary definition that unifies
the totalised inverse formal power series (_)⁻¹
and
the inverse formal power series that depends on
an inverse of the constant coefficient invOfUnit
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A multivariate formal power series is invertible if the constant coefficient is invertible.
Equations
- φ.invOfUnit u = MvPowerSeries.inv.aux (↑u⁻¹) φ
Instances For
Multivariate formal power series over a local ring form a local ring.
Equations
- ⋯ = ⋯
The map between multivariate formal power series over the same indexing set
induced by a local ring hom A → B
is local
Equations
- ⋯ = ⋯
The inverse 1/f
of a multivariable power series f
over a field
Equations
- φ.inv = MvPowerSeries.inv.aux ((MvPowerSeries.constantCoeff σ k) φ)⁻¹ φ
Instances For
Equations
- MvPowerSeries.instInv = { inv := MvPowerSeries.inv }
Equations
- MvPowerSeries.instInvOneClass = let __src := inferInstanceAs (One (MvPowerSeries σ k)); let __src_1 := inferInstanceAs (Inv (MvPowerSeries σ k)); InvOneClass.mk ⋯