Computable monomials #
Monomials of the form X₀ᵃ * X₁ᵇ * ... * Xₖᶻ. These are represented as vectors of natural numbers,
where each element corresponds to the exponent of a variable.
Main definitions #
CPoly.CMvMonomial n: The type of monomials innvariables, implemented asVector ℕ n.
Monomial in n variables.
#v[e₀, e₁, e₂]denotes X₀^e₀ * X₁^e₁ * X₂^e₂
Instances For
Extend a monomial to a larger number of variables by padding with zeros.
Instances For
The total degree of a monomial (sum of all exponents).
Instances For
The degree of the $i$-th variable in the monomial.
Instances For
The zero monomial (all exponents are zero).
Instances For
Monomial multiplication (adds exponents element-wise).
Instances For
Check if $m_1$ divides $m_2$ (true if all exponents of $m_1$ are $\le$ those of $m_2$).
Instances For
The monomial division $m_1 / m_2$ (subtracts exponents element-wise).
The result makes sense assuming m₂ | m₁.
Instances For
Divisibility agrees with monomial multiplication, which adds exponents.
Convert a CMvMonomial to a Finsupp.
Instances For
Convert a Finsupp to a CMvMonomial.
Instances For
Divisibility is the pointwise order on exponent vectors.
Check if $t_1$ divides $t_2$: the monomial of $t_1$ divides that of $t_2$, and the coefficient of $t_2$ is zero modulo that of $t_1$.