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 #
MvPolynomial.expand: expand a polynomial by a factor of p, so∑ aₙ xⁿbecomes∑ aₙ xⁿᵖ.
Expand the polynomial by a factor of p, so ∑ aₙ xⁿ becomes ∑ aₙ xⁿᵖ.
See also Polynomial.expand.
Instances For
@[simp]
theorem MvPolynomial.expand_zero_apply {σ : Type u_1} {R : Type u_3} [CommSemiring R] (f : MvPolynomial σ R) :
@[simp]
theorem MvPolynomial.expand_one_apply {σ : Type u_1} {R : Type u_3} [CommSemiring R] (f : MvPolynomial σ R) :
theorem MvPolynomial.expand_mul {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p q : ℕ) (φ : MvPolynomial σ R) :
@[simp]
theorem MvPolynomial.coeff_expand_smul {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ℕ) (hp : p ≠ 0) (φ : MvPolynomial σ R) (m : σ →₀ ℕ) :
@[simp]
theorem MvPolynomial.coeff_expand_zero {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ℕ) (hp : p ≠ 0) (φ : MvPolynomial σ R) :
theorem MvPolynomial.expand_injective {σ : Type u_1} {R : Type u_3} [CommSemiring R] {n : ℕ} (hn : 0 < n) :
Function.Injective ⇑(expand n)
Expansion is injective.
theorem MvPolynomial.expand_inj {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f g : MvPolynomial σ R} :
theorem MvPolynomial.expand_eq_zero {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : MvPolynomial σ R} :
theorem MvPolynomial.expand_ne_zero {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : MvPolynomial σ R} :
theorem MvPolynomial.expand_eq_C {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : MvPolynomial σ R} {r : R} :
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] (p : ℕ) (f : R →+* S) (φ : MvPolynomial σ R) :
@[simp]
theorem MvPolynomial.rename_expand {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] (p : ℕ) (f : σ → τ) (φ : MvPolynomial σ R) :
theorem MvPolynomial.eval₂Hom_comp_expand {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (p : ℕ) (f : R →+* S) (g : σ → S) :
@[simp]
theorem MvPolynomial.eval₂_expand {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] (p : ℕ) (f : R →+* S) (g : σ → S) (φ : MvPolynomial σ R) :
@[simp]
theorem MvPolynomial.aeval_comp_expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ℕ) {A : Type u_5} [CommSemiring A] [Algebra R A] (f : σ → A) :
@[simp]
theorem MvPolynomial.aeval_expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ℕ) {A : Type u_5} [CommSemiring A] [Algebra R A] (f : σ → A) (φ : MvPolynomial σ R) :
@[simp]
theorem MvPolynomial.eval_expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] (p : ℕ) (f : σ → R) (φ : MvPolynomial σ R) :
theorem MvPolynomial.support_expand_subset {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (φ : MvPolynomial σ R) [DecidableEq σ] :
theorem MvPolynomial.coeff_expand_of_not_dvd {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (φ : MvPolynomial σ R) {m : σ →₀ ℕ} {i : σ} (h : ¬p ∣ m i) :
theorem MvPolynomial.support_expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (φ : MvPolynomial σ R) [DecidableEq σ] (hp : p ≠ 0) :
theorem MvPolynomial.totalDegree_expand {σ : Type u_1} {R : Type u_3} [CommSemiring R] {p : ℕ} (f : MvPolynomial σ R) :
theorem MvPolynomial.isLocalHom_expand (R : Type u_1) (σ : Type u_2) [CommRing R] {p : ℕ} (hp : p ≠ 0) :
IsLocalHom (expand p)
theorem MvPolynomial.of_irreducible_expand {R : Type u_1} (σ : Type u_2) [CommRing R] {p : ℕ} (hp : p ≠ 0) {f : MvPolynomial σ R} (hf : Irreducible ((expand p) f)) :