Documentation

Mathlib.RingTheory.MvPolynomial.Homogeneous

Homogeneous polynomials #

A multivariate polynomial φ is homogeneous of degree n if all monomials occurring in φ have degree n.

Main definitions/lemmas #

def MvPolynomial.degree {σ : Type u_1} (d : σ →₀ ) :

The degree of a monomial.

Equations
Instances For
    def MvPolynomial.IsHomogeneous {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R) (n : ) :

    A multivariate polynomial φ is homogeneous of degree n if all monomials occurring in φ have degree n.

    Equations
    Instances For

      The submodule of homogeneous MvPolynomials of degree n.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        While equal, the former has a convenient definitional reduction.

        theorem MvPolynomial.isHomogeneous_C (σ : Type u_1) {R : Type u_3} [CommSemiring R] (r : R) :
        MvPolynomial.IsHomogeneous (MvPolynomial.C r) 0
        theorem MvPolynomial.IsHomogeneous.inj_right {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {m : } {n : } (hm : MvPolynomial.IsHomogeneous φ m) (hn : MvPolynomial.IsHomogeneous φ n) (hφ : φ 0) :
        m = n
        theorem MvPolynomial.IsHomogeneous.add {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {ψ : MvPolynomial σ R} {n : } (hφ : MvPolynomial.IsHomogeneous φ n) (hψ : MvPolynomial.IsHomogeneous ψ n) :
        theorem MvPolynomial.IsHomogeneous.sum {σ : Type u_1} {R : Type u_3} [CommSemiring R] {ι : Type u_5} (s : Finset ι) (φ : ιMvPolynomial σ R) (n : ) (h : is, MvPolynomial.IsHomogeneous (φ i) n) :
        MvPolynomial.IsHomogeneous (Finset.sum s fun (i : ι) => φ i) n
        theorem MvPolynomial.IsHomogeneous.mul {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {ψ : MvPolynomial σ R} {m : } {n : } (hφ : MvPolynomial.IsHomogeneous φ m) (hψ : MvPolynomial.IsHomogeneous ψ n) :
        theorem MvPolynomial.IsHomogeneous.prod {σ : Type u_1} {R : Type u_3} [CommSemiring R] {ι : Type u_5} (s : Finset ι) (φ : ιMvPolynomial σ R) (n : ι) (h : is, MvPolynomial.IsHomogeneous (φ i) (n i)) :
        MvPolynomial.IsHomogeneous (Finset.prod s fun (i : ι) => φ i) (Finset.sum s fun (i : ι) => n i)
        theorem MvPolynomial.IsHomogeneous.C_mul {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {m : } (hφ : MvPolynomial.IsHomogeneous φ m) (r : R) :
        MvPolynomial.IsHomogeneous (MvPolynomial.C r * φ) m
        theorem MvPolynomial.isHomogeneous_C_mul_X {σ : Type u_1} {R : Type u_3} [CommSemiring R] (r : R) (i : σ) :
        @[deprecated MvPolynomial.isHomogeneous_C_mul_X]
        theorem MvPolynomial.C_mul_X {σ : Type u_1} {R : Type u_3} [CommSemiring R] (r : R) (i : σ) :

        Alias of MvPolynomial.isHomogeneous_C_mul_X.

        theorem MvPolynomial.IsHomogeneous.pow {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {m : } (hφ : MvPolynomial.IsHomogeneous φ m) (n : ) :
        theorem MvPolynomial.isHomogeneous_C_mul_X_pow {σ : Type u_1} {R : Type u_3} [CommSemiring R] (r : R) (i : σ) (n : ) :
        MvPolynomial.IsHomogeneous (MvPolynomial.C r * MvPolynomial.X i ^ n) n
        theorem MvPolynomial.IsHomogeneous.eval₂ {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] {φ : MvPolynomial σ R} {m : } {n : } (hφ : MvPolynomial.IsHomogeneous φ m) (f : R →+* MvPolynomial τ S) (g : σMvPolynomial τ S) (hf : ∀ (r : R), MvPolynomial.IsHomogeneous (f r) 0) (hg : ∀ (i : σ), MvPolynomial.IsHomogeneous (g i) n) :
        theorem MvPolynomial.IsHomogeneous.map {σ : Type u_1} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] {φ : MvPolynomial σ R} {n : } (hφ : MvPolynomial.IsHomogeneous φ n) (f : R →+* S) :
        theorem MvPolynomial.IsHomogeneous.aeval {σ : Type u_1} {τ : Type u_2} {R : Type u_3} {S : Type u_4} [CommSemiring R] [CommSemiring S] {φ : MvPolynomial σ R} {m : } {n : } [Algebra R S] (hφ : MvPolynomial.IsHomogeneous φ m) (g : σMvPolynomial τ S) (hg : ∀ (i : σ), MvPolynomial.IsHomogeneous (g i) n) :
        theorem MvPolynomial.IsHomogeneous.sub {R : Type u_5} {σ : Type u_6} [CommRing R] {φ : MvPolynomial σ R} {ψ : MvPolynomial σ R} {n : } (hφ : MvPolynomial.IsHomogeneous φ n) (hψ : MvPolynomial.IsHomogeneous ψ n) :

        The homogeneous degree bounds the total degree.

        See also MvPolynomial.IsHomogeneous.totalDegree when φ is non-zero.

        theorem MvPolynomial.IsHomogeneous.totalDegree {σ : Type u_1} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {n : } (hφ : MvPolynomial.IsHomogeneous φ n) (h : φ 0) :
        theorem MvPolynomial.IsHomogeneous.rename_isHomogeneous {σ : Type u_1} {τ : Type u_2} {R : Type u_3} [CommSemiring R] {φ : MvPolynomial σ R} {n : } {f : στ} (h : MvPolynomial.IsHomogeneous φ n) :
        theorem MvPolynomial.IsHomogeneous.eq_zero_of_forall_eval_eq_zero_of_le_card {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] {F : MvPolynomial σ R} {n : } (hF : MvPolynomial.IsHomogeneous F n) (h : ∀ (r : σR), (MvPolynomial.eval r) F = 0) (hnR : n Cardinal.mk R) :
        F = 0

        See MvPolynomial.IsHomogeneous.eq_zero_of_forall_eval_eq_zero for a version that assumes Infinite R.

        theorem MvPolynomial.IsHomogeneous.funext_of_le_card {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] {F : MvPolynomial σ R} {G : MvPolynomial σ R} {n : } (hF : MvPolynomial.IsHomogeneous F n) (hG : MvPolynomial.IsHomogeneous G n) (h : ∀ (r : σR), (MvPolynomial.eval r) F = (MvPolynomial.eval r) G) (hnR : n Cardinal.mk R) :
        F = G

        See MvPolynomial.IsHomogeneous.funext for a version that assumes Infinite R.

        theorem MvPolynomial.IsHomogeneous.eq_zero_of_forall_eval_eq_zero {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] [Infinite R] {F : MvPolynomial σ R} {n : } (hF : MvPolynomial.IsHomogeneous F n) (h : ∀ (r : σR), (MvPolynomial.eval r) F = 0) :
        F = 0

        See MvPolynomial.IsHomogeneous.eq_zero_of_forall_eval_eq_zero_of_le_card for a version that assumes n ≤ #R.

        theorem MvPolynomial.IsHomogeneous.funext {R : Type u_5} {σ : Type u_6} [CommRing R] [IsDomain R] [Infinite R] {F : MvPolynomial σ R} {G : MvPolynomial σ R} {n : } (hF : MvPolynomial.IsHomogeneous F n) (hG : MvPolynomial.IsHomogeneous G n) (h : ∀ (r : σR), (MvPolynomial.eval r) F = (MvPolynomial.eval r) G) :
        F = G

        See MvPolynomial.IsHomogeneous.funext_of_le_card for a version that assumes n ≤ #R.

        The homogeneous submodules form a graded ring. This instance is used by DirectSum.commSemiring and DirectSum.algebra.

        Equations
        • =

        homogeneousComponent n φ is the part of φ that is homogeneous of degree n. See sum_homogeneousComponent for the statement that φ is equal to the sum of all its homogeneous components.

        Equations
        Instances For
          @[simp]
          theorem MvPolynomial.homogeneousComponent_zero {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R) :
          @[simp]
          theorem MvPolynomial.homogeneousComponent_C_mul {σ : Type u_1} {R : Type u_3} [CommSemiring R] (φ : MvPolynomial σ R) (n : ) (r : R) :
          (MvPolynomial.homogeneousComponent n) (MvPolynomial.C r * φ) = MvPolynomial.C r * (MvPolynomial.homogeneousComponent n) φ