Documentation

TauCeti.RingTheory.PowerSeries.Evaluation

Evaluation of power series and division by X - C c #

Mathlib evaluates a power series over R at a topologically nilpotent point a of a complete, separated, linearly topologized R-algebra S through PowerSeries.aeval. This file records the values of that evaluation on the generators, X ↦ a and C r ↦ algebraMap R S r, expands it as the series ∑ c n • aⁿ when the coefficients come from a scalar ring acting on R and S, shows that a series without constant term evaluates to a multiple of a, and performs division by a linear factor over a ring A in which power series can be evaluated at c:

f = (X - C c) * divXSubC hc f + C (f(c)),

where the quotient PowerSeries.divXSubC hc f is the explicit series whose n-th coefficient is the value at c of the tail ∑ₖ f_{n+1+k} X^k of f, that is ∑ₖ f_{n+1+k} c^k. The identity is checked coefficientwise from the recursion tailₙ(c) = fₙ + c * tailₙ₊₁(c), which is PowerSeries.aeval applied to tailₙ = X * tailₙ₊₁ + C fₙ. The divisibility criterion

(X - C c) ∣ f  ↔  f(c) = 0

follows: one direction is that X - C c evaluates to zero, and the other reads off the factorization once the remainder f(c) vanishes. This is the special case of Weierstrass division by X - C c that a complete local ring such as ℤ_[p] uses at a point c of its maximal ideal; the explicit quotient makes the general division theorem unnecessary here.

The evaluability hypothesis HasEval c is where the topology enters: it is what makes the tails of f evaluable at c, and it already excludes the units. For a unit c the series X - C c is a unit of A⟦X⟧, so it divides everything, while f(c) need not vanish; and a unit is topologically nilpotent only in the zero ring.

A fixed series is also continuous in a continuously varying admissible argument under a linear topology; PowerSeries.continuous_eval₂_of_continuous specializes the multivariate result.

Main results #

References #

theorem PowerSeries.continuous_eval₂_of_continuous {R : Type u_1} {S : Type u_2} {X : Type u_3} [CommRing R] [UniformSpace R] [IsTopologicalSemiring R] [IsUniformAddGroup R] [CommRing S] [UniformSpace S] [IsUniformAddGroup S] [CompleteSpace S] [T2Space S] [IsTopologicalRing S] [IsLinearTopology S S] [TopologicalSpace X] {φ : R →+* S} (hφ : Continuous ⇑φ) {a : X → S} (ha : Continuous a) (heval : ∀ (x : X), HasEval (a x)) (f : PowerSeries R) :
Continuous fun (x : X) => eval₂ φ (a x) f

A fixed power series is continuous in a continuously varying admissible argument. No common ideal of definition for the arguments is required.

theorem PowerSeries.algHom_coe_eq_aeval {A : Type u_1} {B : Type u_2} [CommSemiring A] [Semiring B] [Algebra A B] (φ : PowerSeries A →ₐ[A] B) (f : Polynomial A) :
φ ↑f = (Polynomial.aeval (φ X)) f

An A-algebra map out of A⟦X⟧ restricts on polynomials to evaluation at the image of X. No continuity is assumed.

@[simp]

Evaluating a polynomial at a power series f and taking the constant coefficient is evaluating it at the constant coefficient of f.

@[simp]

Evaluation at a sends X to a.

@[simp]
theorem PowerSeries.aeval_C {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [UniformSpace R] [UniformSpace S] [IsUniformAddGroup R] [IsTopologicalSemiring R] [IsUniformAddGroup S] [T2Space S] [CompleteSpace S] [IsTopologicalRing S] [IsLinearTopology S S] [Algebra R S] [ContinuousSMul R S] {a : S} (ha : HasEval a) (r : R) :
(aeval ha) (C r) = (algebraMap R S) r

Evaluation at a sends a constant to its image in S.

theorem PowerSeries.hasSum_smul_pow_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [UniformSpace R] [UniformSpace S] [IsUniformAddGroup R] [IsTopologicalSemiring R] [IsUniformAddGroup S] [T2Space S] [CompleteSpace S] [IsTopologicalRing S] [IsLinearTopology S S] [Algebra R S] [ContinuousSMul R S] {a : S} {A : Type u_3} [CommSemiring A] [Algebra A R] [Module A S] [IsScalarTower A R S] (ha : HasEval a) {f : PowerSeries R} {c : ℕ → A} (hc : ∀ (n : ℕ), (coeff n) f = (algebraMap A R) (c n)) :
HasSum (fun (n : ℕ) => c n • a ^ n) ((aeval ha) f)

A power series whose coefficients are the images algebraMap A R (c n) of scalars from a ring A acting compatibly on R and S evaluates at a to the sum of the series ∑ c n • aⁿ.

A power series without constant term evaluates at a to a multiple of a.

A power series without constant term evaluates at a point a of an ideal I to an element of I.

A power series without constant term evaluates at a topologically nilpotent a to a topologically nilpotent element.

theorem PowerSeries.aeval_rescale {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [UniformSpace R] [UniformSpace S] [IsUniformAddGroup R] [IsTopologicalSemiring R] [IsUniformAddGroup S] [T2Space S] [CompleteSpace S] [IsTopologicalRing S] [IsLinearTopology S S] [Algebra R S] [ContinuousSMul R S] {a : S} (ha : HasEval a) (r : R) (hra : HasEval (r • a)) (f : PowerSeries R) :
(aeval ha) ((rescale r) f) = (aeval hra) f

Evaluating the rescaled series f(r X) at a is evaluating f at r • a.

noncomputable def PowerSeries.divXSubC {A : Type u_1} [CommRing A] [UniformSpace A] [IsUniformAddGroup A] [IsTopologicalRing A] [T2Space A] [CompleteSpace A] [IsLinearTopology A A] {c : A} (hc : HasEval c) (f : PowerSeries A) :

The quotient of a power series f on division by X - C c, at a point c where power series can be evaluated: its n-th coefficient is the value at c of the tail ∑ₖ f_{n+1+k} X^k of f. The remainder is the constant f(c); see PowerSeries.X_sub_C_mul_divXSubC_add_C_aeval.

Instances For
    @[simp]
    theorem PowerSeries.coeff_divXSubC {A : Type u_1} [CommRing A] [UniformSpace A] [IsUniformAddGroup A] [IsTopologicalRing A] [T2Space A] [CompleteSpace A] [IsLinearTopology A A] {c : A} (hc : HasEval c) (f : PowerSeries A) (n : ℕ) :
    (coeff n) (divXSubC hc f) = (aeval hc) (mk fun (k : ℕ) => (coeff (n + 1 + k)) f)

    The n-th coefficient of the quotient is the value at c of the shifted tail ∑ₖ f_{n+1+k} X^k of f.

    theorem PowerSeries.hasSum_coeff_divXSubC {A : Type u_1} [CommRing A] [UniformSpace A] [IsUniformAddGroup A] [IsTopologicalRing A] [T2Space A] [CompleteSpace A] [IsLinearTopology A A] {c : A} (hc : HasEval c) (f : PowerSeries A) (n : ℕ) :
    HasSum (fun (k : ℕ) => (coeff (n + 1 + k)) f * c ^ k) ((coeff n) (divXSubC hc f))

    The coefficients of the quotient by X - C c are the explicit series ∑ₖ f_{n+1+k} c^k.

    theorem PowerSeries.aeval_mk_coeff_add {A : Type u_1} [CommRing A] [UniformSpace A] [IsUniformAddGroup A] [IsTopologicalRing A] [T2Space A] [CompleteSpace A] [IsLinearTopology A A] {c : A} (hc : HasEval c) (f : PowerSeries A) (n : ℕ) :
    (aeval hc) (mk fun (k : ℕ) => (coeff (n + k)) f) = (coeff n) f + c * (aeval hc) (mk fun (k : ℕ) => (coeff (n + 1 + k)) f)

    The value at c of the tail ∑ₖ f_{n+k} X^k of f is fₙ + c * (∑ₖ f_{n+1+k} X^k)(c).

    @[simp]

    Division by X - C c. At a point c where power series can be evaluated, f = (X - C c) * q + C (f(c)) with q = divXSubC hc f.

    theorem PowerSeries.X_sub_C_mul_divXSubC {A : Type u_1} [CommRing A] [UniformSpace A] [IsUniformAddGroup A] [IsTopologicalRing A] [T2Space A] [CompleteSpace A] [IsLinearTopology A A] {c : A} (hc : HasEval c) {f : PowerSeries A} (hf : (aeval hc) f = 0) :
    (X - C c) * divXSubC hc f = f

    A power series vanishing at c factors as f = (X - C c) * divXSubC hc f.

    Divisibility by a linear factor is vanishing at its root. At a point c where power series can be evaluated, a power series is divisible by X - C c exactly when its value at c is zero; the quotient is PowerSeries.divXSubC hc f.