Degree, leading coefficient and leading term of polynomials with respect to a monomial order #
We consider a type σ of indeterminates and a commutative semiring R
and a monomial order m : MonomialOrder σ.
m.degree fis the degree offfor the monomial orderingm.m.leadingCoeff fis the leading coefficient offfor the monomial orderingm.m.Monic fasserts that the leading coefficient offis1.m.leadingTerm fis the leading term offfor the monomial orderingm.m.sPolynomial f gis S-polynomial offandg.m.leadingCoeff_ne_zero_iff fasserts that this coefficient is nonzero ifff ≠ 0.in a field,
m.isUnit_leadingCoeff fasserts that this coefficient is a unit ifff ≠ 0.m.degree_add_le: them.degreeoff + gis smaller than or equal to the supremum of those offandg.m.degree_add_of_lt h: them.degreeoff + gis equal to that offif them.degreeofgis strictly smaller than thatf.m.leadingCoeff_add_of_lt h: then, the leading coefficient off + gis that off.m.degree_add_of_ne h: them.degreeoff + gis equal to that the supremum of those offandgif they are distinct.m.degree_sub_le: them.degreeoff - gis smaller than or equal to the supremum of those offandg.m.degree_sub_of_lt h: them.degreeoff - gis equal to that offif them.degreeofgis strictly smaller than thatf.m.leadingCoeff_sub_of_lt h: then, the leading coefficient off - gis that off.m.degree_mul_le: them.degreeoff * gis smaller than or equal to the sum of those offandg.m.degree_mul_of_mul_leadingCoeff_ne_zero: if the product of the leading coefficients is nonzero, then the degree is the sum of the degrees.m.leadingCoeff_mul_of_mul_leadingCoeff_ne_zero: if the product of the leading coefficients is nonzero, then the leading coefficient is that product.m.degree_mul_of_isRegular_left,m.degree_mul_of_isRegular_rightandm.degree_mulassert the equality when the leading coefficient offorgis regular, or whenRis a domain andfandgare nonzero.m.leadingCoeff_mul_of_isRegular_left,m.leadingCoeff_mul_of_isRegular_rightandm.leadingCoeff_mulsay thatm.leadingCoeff (f * g) = m.leadingCoeff f * m.leadingCoeff gm.degree_pow_of_pow_leadingCoeff_ne_zero: is thenth power of the leading coefficient offis nonzero, then the degree off ^ nisn • (m.degree f)m.leadingCoeff_pow_of_pow_leadingCoeff_ne_zero: is thenth power of the leading coefficient offis nonzero, then the leading coefficient off ^ nis that power.m.degree_prod_of_regular: the degree of a product of polynomials whose leading coefficients are regular is the sum of their degrees.m.leadingCoeff_prod_of_regular: the leading coefficient of a product of polynomials whose leading coefficients are regular is the product of their leading coefficients.m.Monic.prod: a product of monic polynomials is monic.m.degree_sub_leadingTerm_lt_iff: the degree off - m.leadingTerm fis smaller than the degree offif and only ifm.degree f ≠ 0.
Reference #
the degree of a multivariate polynomial with respect to a monomial ordering
Instances For
the leading coefficient of a multivariate polynomial with respect to a monomial ordering
Equations
- m.leadingCoeff f = MvPolynomial.coeff (m.degree f) f
Instances For
A multivariate polynomial is Monic with respect to a monomial order
if its leading coefficient (for that monomial order) is 1.
Equations
- m.Monic f = (m.leadingCoeff f = 1)
Instances For
The leading term of of a multivariate polynomial with respect to a monomial ordering.
Equations
- m.leadingTerm f = (MvPolynomial.monomial (m.degree f)) (m.leadingCoeff f)
Instances For
Equations
Multiplicativity of leading coefficients
Multiplicativity of leading coefficients
Monomial degree of product
Multiplicativity of leading coefficients
Monomial degree of product
Multiplicativity of leading coefficients
Monomial degree of product
Multiplicativity of leading coefficients
Monomial degree of product
Multiplicativity of leading coefficients
Monomial degree of powers
Monomial degree of powers
Leading coefficient of powers
Monomial degree of powers (in a reduced ring)
Leading coefficient of powers (in a reduced ring)
A product of monic polynomials is monic
The leading term in a multivariate polynomial is zero if and only if this polynomial is zero.
The leading term of the zero polynomial is zero
The set of leading terms of non-zero polynomials within a set B is equal to the set of
leading terms of all polynomials within B, excluding zero.
The set of leading terms of zero and polynomials within a set B is equal to the set of
zero and leading terms of polynomials within B.
The degree of f equals to the degree of leadingTerm f
The S-polynomial of two polynomials.
Denoting
- the leading monomial of polynomial $f$ and $g$ as $lm(f)$ and $lm(g)$,
- the leading coefficient of $f$ and $g$ as $lc(f)$ and $lc(g)$
(formalized as
m.leadingCoeff fandm.leadingCoeff g), and - the least common multiple of $lm(f)$ and $lm(g)$ as $lcm(lm(f),lm(g))$,
the S-polynomial of $f$ and $g$ is defined as $$sPoly(f,g) := (lcm(lm(f),lm(g)) / lm(f)) * lc(g) * f - (lcm(lm(f),lm(g)) / lm(g)) * lc(f) * g.$$
$(lcm(lm(f),lm(g)) / lm(f))$ and $lcm(lm(f),lm(g)) / lm(g)$ is formalized as
monomial (m.degree g - m.degree f) 1 and monomial (m.degree g - m.degree f) 1, while there is
also another more direct formalization in sPolynomial_def.
Notice that, when the polynomial ring is over a field, S-polynomial is usually defined as
$$sPoly'(f,g) := (lcm(lm(f),lm(g)) / (lm(f) * lc(f))) * f - (lcm(lm(f),lm(g)) / (lm(g) * lc(g))) * g,$$
while we avoid inverting $lc(f)$ and $lc(g)$ in this formalization so that it doesn't require a
field or units (IsUnit) over ring.
An equality between these two versions holds: $$sPoly(f,g) = lc(f) * lc(g) * sPoly'(f,g).$$
Equations
- m.sPolynomial f g = (MvPolynomial.monomial (m.degree g - m.degree f)) (m.leadingCoeff g) * f - (MvPolynomial.monomial (m.degree f - m.degree g)) (m.leadingCoeff f) * g