|
Macaulay2 Engine
|
BIBasis::MonomLex — pure lexicographic specialisation of the BIBasis monomial type. More...
Go to the source code of this file.
Classes | |
| class | BIBasis::MonomLex |
| Monom specialisation that orders monomials by pure lex on their sorted variable lists. More... | |
Namespaces | |
| namespace | BIBasis |
BIBasis::MonomLex — pure lexicographic specialisation of the BIBasis monomial type.
Concrete Monom subclass whose Compare, operator<, and operator> order monomials by walking the variable list from the smallest-index variable upward, with the first disagreement deciding (no degree pre-test) — the standard M2 lex order with x_0 > x_1 > .... The variable list is kept sorted ascending so Find is a linear-but-short walk, and MultiplyBy / operator*= / operator/= / SetQuotientOf maintain that ordering as they splice nodes; equality short-circuits on the cached TotalDegree. Storage is a per-class static FastAllocator so the millions of transient monomials created during prolongation stay slab-resident.
Also exposes IsPommaretDivisibleBy (Janet's prefix divisibility used by the involutive driver) and GetVariablesSet / FirstMultiVar for translating between the linked-list encoding and the dense variable indices the engine's Matrix interface expects. Picked at runtime by Launcher when the user requests Lex.
Definition in file monomLex.hpp.