Macaulay2 Engine
Loading...
Searching...
No Matches
monomDRL.hpp File Reference

BIBasis::MonomDRL — degree-reverse-lex specialisation of the BIBasis monomial type. More...

#include <set>
#include "allocator.hpp"
#include "monom.hpp"

Go to the source code of this file.

Classes

class  BIBasis::MonomDRL
 Monom specialisation that orders monomials by degree, then by reverse-lex on the variable list (DegRevLex). More...

Namespaces

namespace  BIBasis

Detailed Description

BIBasis::MonomDRL — degree-reverse-lex specialisation of the BIBasis monomial type.

Note
AI-generated documentation. Verify against the source before relying on it.

Concrete Monom subclass whose Compare, operator<, and operator> compare by cached TotalDegree first and break ties with reverse-lex on the variable list — the default ordering for most Gröbner-basis work, since on typical inputs it produces the smallest output bases. The variable list is stored ascending and the order-specific traversal direction is baked into the comparison, while multiplication, division, and divisibility share the same linear-walk structure as the other orderings. Storage routes through a per-class static FastAllocator so prolongation churn stays slab-resident.

Selected at runtime by Launcher when the user requests DegRevLex; instantiated as BooleanInvolutiveBasis<MonomDRL> so the comparison kernel inlines into the reduction inner loop. Also implements IsPommaretDivisibleBy for the Janet driver.

See also
monom.hpp
monomLex.hpp
monomDL.hpp
launcher.hpp
involutive.hpp

Definition in file monomDRL.hpp.