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

BIBasis::MonomDL — degree-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::MonomDL
 Monom specialisation that orders monomials by degree, then by lex on the variable list (DegLex). More...

Namespaces

namespace  BIBasis

Detailed Description

BIBasis::MonomDL — degree-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> first compare the cached TotalDegree and break ties with lex on the variable list — the standard degree- lexicographic order (grlex in some textbooks). The variable list is kept sorted ascending so divisibility, multiplication, and exact-division traversals fuse into single linear walks; IsTrueDivisibleBy and IsPommaretDivisibleBy add the strict and Janet-prefix flavours the involutive driver needs. Allocation routes through a per-class static FastAllocator so prolongation churn doesn't hit the system allocator.

Selected at runtime by Launcher when the user requests DegLex; instantiated via BooleanInvolutiveBasis<MonomDL> so the comparison kernel inlines into the reduction inner loop.

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

Definition in file monomDL.hpp.