Starlib-Specific Bivariate Polynomial Extensions #
The core bivariate polynomial definitions and degree/eval/multiplicity theory are provided
by CompPoly (CompPoly.ToMathlib.Polynomial.BivariateDegree, BivariateWeightedDegree,
BivariateMultiplicity). This file contains only Starlib-specific extensions:
- Finset-level coefficient and evaluation helpers (
coeffs,evalSetX,evalSetY) - Quotient (divisibility) predicates and degree bounds
- Linear-map monomial constructors (
monomialY,monomialXY) and their algebra
The set of coefficients of a bivariate polynomial.
Instances For
A bivariate polynomial is non-zero if and only if its coefficient function is non-zero.
The set of Y-degrees is non-empty.
If some element x ∈ s maps to y under f, and every element of s maps to a value
less than or equal to y, then the supremum of f over s is exactly y.
Evaluating a bivariate polynomial in the first variable X on a set of points. This results in
a set of univariate polynomials in Y.
Instances For
Evaluating a bivariate polynomial in the second variable Y on a set of points resulting
in a set of univariate polynomials in X.
Instances For
The bivariate quotient polynomial.
Instances For
The quotient of two non-zero bivariate polynomials is non-zero.
If a non-zero bivariate polynomial f divides a non-zero bivariate polynomial g, then
all the coefficients of the quoetient are non-zero.
Each coefficient's total-degree contribution is bounded by totalDegree when in support.
There exists a maximal Y-index achieving totalDegree. Above it, total-degree contributions
are strictly smaller or the coefficient vanishes.
The total degree of the product of two bivariate polynomials is the sum of their total degrees.
Definition of a monomial when the bivariate polynomial is considered as a univariate
polynomial in Y.
Instances For
Definition of the bivariate monomial X^n * Y^m
Instances For
The bivariate monomial is well-defined.
Adding bivariate monomials works as expected.
In particular, (a + b) * X^n * Y^m = a * X^n * Y^m + b * X^n * Y^m.
Multiplying bivariate monomials works as expected.
In particular, (a * X^n * Y^m) * (b * X^p * Y^q) = (a * b) * X^(n+p) * Y^(m+q).
Taking a bivariate monomial to a power works as expected.
In particular, (a * X^n * Y^m)^k = (a^k) * X^(n * k) * Y^(m * k).
Multiplying a bivariate monomial by a scalar works as expected.
In particular, b * a * X^n * Y^m = b * (a * X^n * Y^m).
A bivariate monimial a * X^n * Y^m is equal to zero if and only if a = 0.
Two bivariate monomials a * X^n * Y^m and b * X^p * Y^q are equal if and only if a = b
n = p and m = q or if both are zero, i.e., a = b = 0.
The total degree of the monomial a * X^n * Y^m is n + m.
The X-degree of the monomial a * X^n * Y^m is n.
The Y-degree of the monomial a * X^n * Y^m is m.
(a,b)-weighted degree of a monomial X^i * Y^j
Instances For
evalX is multiplicative.