Documentation

FltRegular.ReadyForMathlib.Homogenization

Homogenization #

Main definitions #

Main statements #

Notation #

Implementation details #

References #

Tags #

theorem MvPolynomial.Finsupp.sum_update_add {ι : Type u_3} {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [AddCommMonoid β] (f : ι →₀ α) (i : ι) (a : α) (g : ιαβ) (hg : ∀ (i : ι), g i 0 = 0) (hgg : ∀ (a : ι) (b₁ b₂ : α), g a (b₁ + b₂) = g a b₁ + g a b₂) :
Finsupp.sum (Finsupp.update f i a) g + g i (f i) = Finsupp.sum f g + g i a
def MvPolynomial.homogenization {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) (p : MvPolynomial ι R) :

The homogenization of a multivariate polynomial at a single variable.

Equations
Instances For
    @[simp]
    theorem MvPolynomial.Finsupp.support_mapDomain {α : Type u_1} {β : Type u_2} {M : Type u_3} [AddCommMonoid M] (f : α β) (v : α →₀ M) :
    (Finsupp.mapDomain (f) v).support Finset.map f v.support
    theorem MvPolynomial.Finsupp.mapDomain_apply' {α : Type u_1} {β : Type u_2} {M : Type u_3} [AddCommMonoid M] (S : Set α) {f : αβ} (x : α →₀ M) (hS : x.support S) (hf : Set.InjOn f S) {a : α} (ha : a S) :
    ↑(Finsupp.mapDomain f x) (f a) = x a
    theorem MvPolynomial.Finsupp.mapDomain_injOn {α : Type u_1} {β : Type u_2} {M : Type u_3} [AddCommMonoid M] (S : Set α) {f : αβ} (hf : Set.InjOn f S) :
    Set.InjOn (Finsupp.mapDomain f) {w | w.support S}
    @[simp]
    theorem MvPolynomial.homogenization_zero {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) :
    @[simp]
    theorem MvPolynomial.homogenization_one {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) :
    @[simp]
    theorem MvPolynomial.homogenization_C {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) (c : R) :
    MvPolynomial.homogenization i (MvPolynomial.C c) = MvPolynomial.C c
    @[simp]
    theorem MvPolynomial.homogenization_monomial {R : Type u_2} {ι : Type u_1} [CommSemiring R] (i : ι) (s : ι →₀ ) (r : R) :
    theorem MvPolynomial.aux {R : Type u_1} {ι : Type u_2} [CommSemiring R] {i : ι} {p : MvPolynomial ι R} {x : ι →₀ } (hp : x MvPolynomial.support p) :
    (Finsupp.sum (x + fun₀ | i => MvPolynomial.totalDegree p - Finsupp.sum x fun x m => m) fun x m => m) = MvPolynomial.totalDegree p
    theorem MvPolynomial.homogenization_ne_zero_of_ne_zero {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) {p : MvPolynomial ι R} (hp : p 0) (hjp : ∀ (j : ι →₀ ), j MvPolynomial.support pj i = 0) :
    def MvPolynomial.leadingTerms {R : Type u_1} {ι : Type u_2} [CommSemiring R] (p : MvPolynomial ι R) :

    The sum of the monomials of highest degree of a multivariate polynomial.

    Equations
    Instances For
      @[simp]
      theorem MvPolynomial.leadingTerms_C {R : Type u_1} {ι : Type u_2} [CommSemiring R] (r : R) :
      MvPolynomial.leadingTerms (MvPolynomial.C r) = MvPolynomial.C r
      theorem MvPolynomial.exists_coeff_ne_zero_totalDegree {R : Type u_1} {ι : Type u_2} [CommSemiring R] {p : MvPolynomial ι R} (hp : p 0) :
      theorem MvPolynomial.support_sum_monomial_eq {R : Type u_1} {ι : Type u_2} [CommSemiring R] [DecidableEq R] (S : Finset (ι →₀ )) (f : (ι →₀ ) → R) :
      MvPolynomial.support (Finset.sum S fun v => ↑(MvPolynomial.monomial v) (f v)) = Finset.filter (fun v => f v 0) S
      theorem MvPolynomial.support_sum_monomial_subset {R : Type u_2} {ι : Type u_1} [CommSemiring R] (S : Finset (ι →₀ )) (f : (ι →₀ ) → R) :
      theorem MvPolynomial.sum_monomial_ne_zero_of_exists_mem_ne_zero {R : Type u_2} {ι : Type u_1} [CommSemiring R] (S : Finset (ι →₀ )) (f : (ι →₀ ) → R) (h : s x, f s 0) :
      (Finset.sum S fun s => ↑(MvPolynomial.monomial s) (f s)) 0
      theorem MvPolynomial.coeff_leadingTerms {R : Type u_1} {ι : Type u_2} [CommSemiring R] (p : MvPolynomial ι R) (d : ι →₀ ) :
      theorem MvPolynomial.NoZeroSmulDivisors.smul_eq_zero_iff_eq_zero_or_eq_zero (R : Type u_1) (M : Type u_2) [Zero R] [Zero M] [SMulWithZero R M] [NoZeroSMulDivisors R M] {c : R} {x : M} :
      c x = 0 c = 0 x = 0
      @[simp]
      theorem MvPolynomial.leadingTerms_C_mul {R : Type u_1} {ι : Type u_2} [CommSemiring R] [NoZeroSMulDivisors R R] (p : MvPolynomial ι R) (r : R) :
      MvPolynomial.leadingTerms (MvPolynomial.C r * p) = MvPolynomial.C r * MvPolynomial.leadingTerms p
      theorem MvPolynomial.eq_C_of_totalDegree_zero {R : Type u_1} {ι : Type u_2} [CommSemiring R] {p : MvPolynomial ι R} (hp : MvPolynomial.totalDegree p = 0) :
      p = MvPolynomial.C (MvPolynomial.coeff 0 p)
      @[simp]
      theorem MvPolynomial.homogenization_X_add_C {R : Type u_1} {ι : Type u_2} [CommSemiring R] {i : ι} {j : ι} (r : R) :
      MvPolynomial.homogenization i (MvPolynomial.X j + MvPolynomial.C r) = MvPolynomial.X j + MvPolynomial.C r * MvPolynomial.X i
      @[simp]
      theorem MvPolynomial.homogenization_X_sub_C {ι : Type u_2} {R : Type u_1} [CommRing R] {i : ι} {j : ι} (r : R) :
      MvPolynomial.homogenization i (MvPolynomial.X j - MvPolynomial.C r) = MvPolynomial.X j - MvPolynomial.C r * MvPolynomial.X i
      @[simp]
      theorem MvPolynomial.homogenization_X_pow_add_C {R : Type u_1} {ι : Type u_2} [CommSemiring R] {i : ι} {j : ι} {n : } (hn : 0 < n) (r : R) :
      MvPolynomial.homogenization i (MvPolynomial.X j ^ n + MvPolynomial.C r) = MvPolynomial.X j ^ n + MvPolynomial.C r * MvPolynomial.X i ^ n
      @[simp]
      theorem MvPolynomial.homogenization_X_pow_sub_C {ι : Type u_2} {R : Type u_1} [CommRing R] {i : ι} {j : ι} {n : } (hn : 0 < n) (r : R) :
      MvPolynomial.homogenization i (MvPolynomial.X j ^ n - MvPolynomial.C r) = MvPolynomial.X j ^ n - MvPolynomial.C r * MvPolynomial.X i ^ n
      @[simp]
      theorem MvPolynomial.homogenization_X_pow_sub_one {ι : Type u_2} {R : Type u_1} [CommRing R] {i : ι} {j : ι} {n : } (hn : 0 < n) :
      @[simp]
      theorem MvPolynomial.homogenization_X_pow_add_one {R : Type u_1} {ι : Type u_2} [CommSemiring R] {i : ι} {j : ι} {n : } (hn : 0 < n) :
      theorem MvPolynomial.support_sum_monomial_subset' {R : Type u_3} {ι : Type u_1} [CommSemiring R] [DecidableEq ι] {α : Type u_2} (S : Finset α) (g : αι →₀ ) (f : αR) :
      theorem MvPolynomial.support_prod {R : Type u_2} {ι : Type u_1} [CommSemiring R] [DecidableEq ι] (P : Finset (MvPolynomial ι R)) :
      MvPolynomial.support (Finset.prod P id) Finset.sum P MvPolynomial.support
      theorem MvPolynomial.degreeOf_eq_zero_iff {R : Type u_1} {ι : Type u_2} [CommSemiring R] (i : ι) (p : MvPolynomial ι R) :
      MvPolynomial.degreeOf i p = 0 ∀ (j : ι →₀ ), j MvPolynomial.support pj i = 0
      theorem MvPolynomial.prod_contains_no {R : Type u_2} {ι : Type u_1} [CommSemiring R] (i : ι) (P : Finset (MvPolynomial ι R)) (hp : ∀ (p : MvPolynomial ι R), p P∀ (j : ι →₀ ), j MvPolynomial.support pj i = 0) (j : ι →₀ ) (hjp : j MvPolynomial.support (Finset.prod P id)) :
      j i = 0
      theorem MvPolynomial.homogenization_prod {ι : Type u_3} {σ : Type u_1} {S : Type u_2} [CommRing S] [IsDomain S] (i : ι) (P : σMvPolynomial ι S) (L : Finset σ) :