Documentation

CharacteristicSet.MainDegree

Main degree of a polynomial #

This file defines the main degree of a multivariate polynomial, which is the degree with respect to its main variable.

Main definitions #

Main theorems #

noncomputable def MvPolynomial.mainDegree {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] (p : MvPolynomial σ R) :

The "main degree" of p: the degree of p with respect to its main variable. If max_vars p = ⊥ (i.e., p is a constant or zero), the degree is 0.

Equations
Instances For
    theorem MvPolynomial.mainDegree_of_max_vars_isSome {R : Type u_1} {σ : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} [LinearOrder σ] {c : σ} :
    p.vars.max = cp.mainDegree = degreeOf c p
    theorem MvPolynomial.mainDegree_of_max_vars_isSome' {R : Type u_1} {σ : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} [LinearOrder σ] {c : σ} :
    p.vars.max = cp.mainDegree = p.support.sup fun (s : σ →₀ ) => s c
    theorem MvPolynomial.degreeOf_max_vars_ne_zero {R : Type u_1} {σ : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} [LinearOrder σ] {c : σ} :
    p.vars.max = cdegreeOf c p 0
    theorem MvPolynomial.max_vars_mem_degrees {R : Type u_1} {σ : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} [LinearOrder σ] {c : σ} :
    p.vars.max = cc p.degrees
    @[simp]
    theorem MvPolynomial.mainDegree_zero {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] :
    @[simp]
    theorem MvPolynomial.mainDegree_monomial {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] {c : σ} {s : σ →₀ } {r : R} (hr : r 0) (hs : s.support.max = c) :
    ((monomial s) r).mainDegree = s c
    @[simp]
    theorem MvPolynomial.mainDegree_C {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] (r : R) :
    (C r).mainDegree = 0
    @[simp]
    theorem MvPolynomial.mainDegree_X_pow {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] [Nontrivial R] (i : σ) (k : ) :
    (X i ^ k).mainDegree = k
    @[simp]
    theorem MvPolynomial.mainDegree_X {R : Type u_1} {σ : Type u_2} [CommSemiring R] [LinearOrder σ] [Nontrivial R] (i : σ) :
    (X i).mainDegree = 1