Formal power series (in one variable) #
This file defines (univariate) formal power series and develops the basic properties of these objects.
A formal power series is to a polynomial like an infinite sum is to a finite sum.
Formal power series in one variable are defined from multivariate
power series as PowerSeries R := MvPowerSeries Unit R
.
The file sets up the (semi)ring structure on univariate power series.
We provide the natural inclusion from polynomials to formal power series.
Additional results can be found in:
Mathlib.RingTheory.PowerSeries.Trunc
, truncation of power series;Mathlib.RingTheory.PowerSeries.Inverse
, about inverses of power series, and the fact that power series over a local ring form a local ring;Mathlib.RingTheory.PowerSeries.Order
, the order of a power series at 0, and application to the fact that power series over an integral domain form an integral domain.
Implementation notes #
Because of its definition,
PowerSeries R := MvPowerSeries Unit R
.
a lot of proofs and properties from the multivariate case
can be ported to the single variable case.
However, it means that formal power series are indexed by Unit →₀ ℕ
,
which is of course canonically isomorphic to ℕ
.
We then build some glue to treat formal power series as if they were indexed by ℕ
.
Occasionally this leads to proofs that are uglier than expected.
Formal power series over a coefficient type R
Equations
Instances For
R⟦X⟧
is notation for PowerSeries R
,
the semiring of formal power series in one variable over a semiring R
.
Equations
- PowerSeries.«term_⟦X⟧» = Lean.ParserDescr.trailingNode `PowerSeries.«term_⟦X⟧» 9000 0 (Lean.ParserDescr.symbol "⟦X⟧")
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
The n
th coefficient of a formal power series.
Equations
- PowerSeries.coeff R n = MvPowerSeries.coeff R (Finsupp.single () n)
Instances For
The n
th monomial with coefficient a
as formal power series.
Equations
Instances For
Two formal power series are equal if all their coefficients are equal.
The constant coefficient of a formal power series.
Equations
Instances For
The constant formal power series.
Equations
Instances For
The variable of the formal power series ring.
Equations
Instances For
If a formal power series is invertible, then so is its constant coefficient.
Split off the constant coefficient.
Split off the constant coefficient.
The ring homomorphism taking a power series f(X)
to f(aX)
.
Equations
- PowerSeries.rescale a = { toFun := fun (f : PowerSeries R) => PowerSeries.mk fun (n : ℕ) => a ^ n * (PowerSeries.coeff R n) f, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Coefficients of a product of power series
The n
-th coefficient of the k
-th power of a power series.
First coefficient of the product of two power series.
First coefficient of the n
-th power of a power series.
The ring homomorphism taking a power series f(X)
to f(-X)
.
Equations
Instances For
The ideal spanned by the variable in the power series ring over an integral domain is a prime ideal.
The variable of the power series ring over an integral domain is irreducible.
The natural inclusion from polynomials into formal power series.
Equations
- ↑φ = PowerSeries.mk fun (n : ℕ) => φ.coeff n
Instances For
Alias of Polynomial.toPowerSeries
.
The natural inclusion from polynomials into formal power series.
Instances For
The natural inclusion from polynomials into formal power series.
Equations
- Polynomial.coeToPowerSeries = { coe := Polynomial.toPowerSeries }
The coercion from polynomials to power series as a ring homomorphism.
Equations
- Polynomial.coeToPowerSeries.ringHom = { toFun := Coe.coe, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The coercion from polynomials to power series as an algebra homomorphism.
Equations
- Polynomial.coeToPowerSeries.algHom A = { toRingHom := (PowerSeries.map (algebraMap R A)).comp Polynomial.coeToPowerSeries.ringHom, commutes' := ⋯ }
Instances For
Equations
- PowerSeries.algebraPolynomial = (Polynomial.coeToPowerSeries.algHom A).toAlgebra
Equations
- PowerSeries.algebraPowerSeries = (PowerSeries.map (algebraMap R A)).toAlgebra
Equations
- PowerSeries.algebraPolynomial' = (Polynomial.coeToPowerSeries.ringHom.comp (algebraMap R (Polynomial A))).toAlgebra