of variables is fixed from the beginning, where
, and that we only consider monomials with non-negative partial degrees of at most
. Using 8 bits per exponent, we can encode the monomial
as
in a 64-bit word.
It turns out that, for many operations on monomials, this form is very convenient in the sense that the operation can be performed on
as one word instead of
involving
words. Examples of this are multiplication and division, which correspond to addition and subtraction, and the inverse lexicographical order, which corresponds to the operator <. As an aside, the problem of possible overflow is burried in the our assumption that no monomial operation will involve partial exponents exceeding
. Other operations, for example, checking whether one monomial is divisible by another, involve explicitly considering partial exponents using bitmasks.
In this context, it is very useful to note that, in the inverse lexicographic ordering, we have
if and only
. While the first test could involve
word comparisons plus the overhead of a loop, the second test only involves one word comparison.
1.5.6