Documentation

Mathlib.RingTheory.MvPowerSeries.Expand

Expand multivariate power series #

Given a multivariate power series φ, one may replace every occurrence of X i by X i ^ n, for some nonzero natural number n. This operation is called MvPowerSeries.expand and it is an algebra homomorphism.

Main declaration #

noncomputable def MvPowerSeries.expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) :

Expand the power series by a factor of p, so ∑ aₙ xⁿ becomes ∑ aₙ xⁿᵖ.

See also PowerSeries.expand.

Equations
Instances For
    theorem MvPowerSeries.expand_C {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (r : R) :
    (expand p hp) (C r) = C r
    @[simp]
    theorem MvPowerSeries.expand_X {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (i : σ) :
    (expand p hp) (X i) = X i ^ p
    @[simp]
    theorem MvPowerSeries.expand_monomial {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (d : σ →₀ ) (r : R) :
    (expand p hp) ((monomial d) r) = (monomial (p d)) r
    @[simp]
    theorem MvPowerSeries.expand_one {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] :
    theorem MvPowerSeries.expand_one_apply {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (f : MvPowerSeries σ R) :
    (expand 1 ) f = f
    @[simp]
    theorem MvPowerSeries.map_expand {σ : Type u_1} {R : Type u_3} {S : Type u_4} [Finite σ] [CommRing R] [CommRing S] (p : ) (hp : p 0) (f : R →+* S) (φ : MvPowerSeries σ R) :
    (map f) ((expand p hp) φ) = (expand p hp) ((map f) φ)
    theorem MvPowerSeries.HasSubst.expand {σ : Type u_1} {τ : Type u_2} {S : Type u_4} [Finite τ] [CommRing S] (p : ) (hp : p 0) {f : σMvPowerSeries τ S} (hf : HasSubst f) :
    HasSubst fun (i : σ) => (MvPowerSeries.expand p hp) (f i)
    theorem MvPowerSeries.expand_comp_substAlgHom {σ : Type u_1} {τ : Type u_2} {S : Type u_4} [Finite τ] [CommRing S] (p : ) (hp : p 0) {f : σMvPowerSeries τ S} (hf : HasSubst f) :
    theorem MvPowerSeries.expand_substAlgHom {σ : Type u_1} {τ : Type u_2} {S : Type u_4} [Finite τ] [CommRing S] (p : ) (hp : p 0) {f : σMvPowerSeries τ S} (hf : HasSubst f) {φ : MvPowerSeries σ S} :
    (expand p hp) ((substAlgHom hf) φ) = (substAlgHom ) φ
    theorem MvPowerSeries.expand_subst {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [Finite τ] [CommRing R] (p : ) (hp : p 0) {f : σMvPowerSeries τ R} (hf : HasSubst f) {φ : MvPowerSeries σ R} :
    (expand p hp) (subst f φ) = subst (fun (i : σ) => (expand p hp) (f i)) φ
    theorem MvPowerSeries.expand_mul_eq_comp {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (q : ) (hq : q 0) :
    expand (p * q) = (expand p hp).comp (expand q hq)
    theorem MvPowerSeries.expand_mul {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (q : ) (hq : q 0) (φ : MvPowerSeries σ R) :
    (expand (p * q) ) φ = (expand p hp) ((expand q hq) φ)
    @[simp]
    theorem MvPowerSeries.coeff_expand_smul {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) (m : σ →₀ ) :
    (coeff (p m)) ((expand p hp) φ) = (coeff m) φ
    @[simp]
    theorem MvPowerSeries.constantCoeff_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) :
    theorem MvPowerSeries.coeff_expand_of_not_dvd {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) {m : σ →₀ } {i : σ} (h : ¬p m i) :
    (coeff m) ((expand p hp) φ) = 0
    theorem MvPowerSeries.support_expand_subset {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) :
    Function.support ((expand p hp) φ) (fun (x : σ →₀ ) => p x) '' Function.support φ
    theorem MvPowerSeries.support_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) :
    Function.support ((expand p hp) φ) = (fun (x : σ →₀ ) => p x) '' Function.support φ
    @[simp]
    theorem MvPowerSeries.order_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) (φ : MvPowerSeries σ R) :
    ((expand p hp) φ).order = p φ.order
    @[simp]
    theorem MvPowerSeries.expand_eq_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) {φ : MvPolynomial σ R} :
    (expand p hp) φ = ((MvPolynomial.expand p) φ)

    For any multivariate polynomial φ, then MvPolynomial.expand p φ and MvPowerSeries.expand p hp ↑φ coincide.

    theorem MvPowerSeries.trunc'_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) [DecidableEq σ] {n : σ →₀ } (φ : MvPowerSeries σ R) :
    (trunc' R (p n)) ((expand p hp) φ) = (MvPolynomial.expand p) ((trunc' R n) φ)
    theorem MvPowerSeries.trunc'_expand_trunc' {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) {n m : σ →₀ } (h : n m) [DecidableEq σ] (f : MvPowerSeries σ R) :
    (MvPolynomial.expand p) ((trunc' R n) f) = (trunc' R (p n)) ((MvPolynomial.expand p) ((trunc' R m) f))
    theorem MvPowerSeries.map_frobenius_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) [ExpChar R p] {f : MvPowerSeries σ R} :
    (map (frobenius R p)) ((expand p hp) f) = f ^ p
    theorem MvPowerSeries.map_iterateFrobenius_expand {σ : Type u_1} {R : Type u_3} [Finite σ] [CommRing R] (p : ) (hp : p 0) [ExpChar R p] (f : MvPowerSeries σ R) (n : ) :
    (map (iterateFrobenius R p n)) ((expand (p ^ n) ) f) = f ^ p ^ n