Expand a polynomial by a factor of p, so ∑ aₙ xⁿ becomes ∑ aₙ xⁿᵖ. #
Main definitions #
Polynomial.expand R p f: expand the polynomialfwith coefficients in a commutative semiringRby a factor of p, soexpand R p (∑ aₙ xⁿ)is∑ aₙ xⁿᵖ.Polynomial.contract p f: the opposite ofexpand, so it sends∑ aₙ xⁿᵖto∑ aₙ xⁿ.
Expand the polynomial by a factor of p, so ∑ aₙ xⁿ becomes ∑ aₙ xⁿᵖ.
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem Polynomial.coeff_expand_mul {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) (f : Polynomial R) (n : ℕ) :
@[simp]
theorem Polynomial.coeff_expand_mul' {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) (f : Polynomial R) (n : ℕ) :
theorem Polynomial.expand_injective {R : Type u} [CommSemiring R] {n : ℕ} (hn : 0 < n) :
Function.Injective ⇑(expand R n)
Expansion is injective.
theorem Polynomial.expand_inj {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f g : Polynomial R} :
theorem Polynomial.expand_eq_zero {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : Polynomial R} :
theorem Polynomial.expand_ne_zero {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : Polynomial R} :
theorem Polynomial.expand_eq_C {R : Type u} [CommSemiring R] {p : ℕ} (hp : 0 < p) {f : Polynomial R} {r : R} :
theorem Polynomial.leadingCoeff_expand {R : Type u} [CommSemiring R] {p : ℕ} {f : Polynomial R} (hp : 0 < p) :
theorem Polynomial.monic_expand_iff {R : Type u} [CommSemiring R] {p : ℕ} {f : Polynomial R} (hp : 0 < p) :
theorem Polynomial.Monic.expand {R : Type u} [CommSemiring R] {p : ℕ} {f : Polynomial R} (hp : 0 < p) :
f.Monic → ((Polynomial.expand R p) f).Monic
Alias of the reverse direction of Polynomial.monic_expand_iff.
theorem Polynomial.map_expand {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : ℕ} {f : R →+* S} {q : Polynomial R} :
@[simp]
@[simp]
theorem Polynomial.expand_aeval {R : Type u} [CommSemiring R] {A : Type u_1} [Semiring A] [Algebra R A] (p : ℕ) (P : Polynomial R) (r : A) :
The opposite of expand: sends ∑ aₙ xⁿᵖ to ∑ aₙ xⁿ.
Instances For
theorem Polynomial.coeff_contract {R : Type u} [CommSemiring R] {p : ℕ} (hp : p ≠ 0) (f : Polynomial R) (n : ℕ) :
theorem Polynomial.map_contract {R : Type u} [CommSemiring R] {S : Type v} [CommSemiring S] {p : ℕ} (hp : p ≠ 0) {f : R →+* S} {q : Polynomial R} :
theorem Polynomial.contract_expand {R : Type u} [CommSemiring R] (p : ℕ) {f : Polynomial R} (hp : p ≠ 0) :
@[simp]
theorem Polynomial.contract_add {R : Type u} [CommSemiring R] {p : ℕ} (hp : p ≠ 0) (f g : Polynomial R) :
theorem Polynomial.contract_mul_expand {R : Type u} [CommSemiring R] {p : ℕ} (hp : p ≠ 0) (f g : Polynomial R) :
@[simp]
theorem Polynomial.isCoprime_expand {R : Type u} [CommSemiring R] {f g : Polynomial R} {p : ℕ} (hp : p ≠ 0) :
theorem Polynomial.expand_contract {R : Type u} [CommSemiring R] (p : ℕ) [CharP R p] [NoZeroDivisors R] {f : Polynomial R} (hf : derivative f = 0) (hp : p ≠ 0) :
theorem Polynomial.expand_contract' {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] [NoZeroDivisors R] {f : Polynomial R} (hf : derivative f = 0) :
theorem Polynomial.map_frobenius_expand {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] (f : Polynomial R) :
theorem Polynomial.map_iterateFrobenius_expand {R : Type u} [CommSemiring R] (p : ℕ) [ExpChar R p] (f : Polynomial R) (n : ℕ) :
theorem Polynomial.rootMultiplicity_expand_pow {R : Type u} [CommRing R] {p n : ℕ} [ExpChar R p] {f : Polynomial R} {r : R} :
theorem Polynomial.rootMultiplicity_expand {R : Type u} [CommRing R] {p : ℕ} [ExpChar R p] {f : Polynomial R} {r : R} :
theorem Polynomial.isLocalHom_expand (R : Type u) [CommRing R] [IsDomain R] {p : ℕ} (hp : 0 < p) :
IsLocalHom (expand R p)
theorem Polynomial.of_irreducible_expand {R : Type u} [CommRing R] [IsDomain R] {p : ℕ} (hp : p ≠ 0) {f : Polynomial R} (hf : Irreducible ((expand R p) f)) :
theorem Polynomial.of_irreducible_expand_pow {R : Type u} [CommRing R] [IsDomain R] {p : ℕ} (hp : p ≠ 0) {f : Polynomial R} {n : ℕ} :
Irreducible ((expand R (p ^ n)) f) → Irreducible f