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.

Equations
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_comp_bind₁ {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (p : ) (f : σMvPolynomial τ R) :
    theorem MvPolynomial.expand_bind₁ {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (p : ) (f : σMvPolynomial τ R) (φ : MvPolynomial σ R) :
    @[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) :