Documentation

Mathlib.Data.MvPolynomial.Expand

Expand multivariate polynomials #

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

Main declaration #

noncomputable def MvPolynomial.expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ) :

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

See also Polynomial.expand.

Instances For
    theorem MvPolynomial.expand_C {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ) (r : R) :
    ↑(MvPolynomial.expand p) (MvPolynomial.C r) = MvPolynomial.C r
    @[simp]
    theorem MvPolynomial.expand_X {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ) (i : σ) :
    @[simp]
    theorem MvPolynomial.expand_monomial {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ) (d : σ →₀ ) (r : R) :
    ↑(MvPolynomial.expand p) (↑(MvPolynomial.monomial d) r) = MvPolynomial.C r * Finset.prod d.support fun i => (MvPolynomial.X i ^ p) ^ d i
    theorem MvPolynomial.expand_one_apply {σ : Type u_1} {R : Type u_3} [CommSemiring R] (f : MvPolynomial σ R) :
    @[simp]
    theorem MvPolynomial.expand_bind₁ {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (p : ) (f : σMvPolynomial τ R) (φ : MvPolynomial σ R) :
    ↑(MvPolynomial.expand p) (↑(MvPolynomial.bind₁ f) φ) = ↑(MvPolynomial.bind₁ fun i => ↑(MvPolynomial.expand p) (f i)) φ
    @[simp]
    theorem MvPolynomial.map_expand {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (f : R →+* S) (p : ) (φ : MvPolynomial σ R) :
    @[simp]
    theorem MvPolynomial.rename_expand {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (f : στ) (p : ) (φ : MvPolynomial σ R) :