Gröbner basis project
Codebase for research into Gröbner basis computation
|
generic grevlex ordering, works with any number of variables More...
#include <particular_orderings.hpp>
Public Member Functions | |
Comparison | |
virtual bool | first_larger (const Monomial &, const Monomial &) const |
returns true iff the first Monomial is larger than the second | |
virtual bool | first_smaller (const Monomial &, const Monomial &) const |
returns true iff the first Monomial is smaller than the second | |
virtual bool | first_larger_than_multiple (const Monomial &, const Monomial &, const Monomial &) const |
returns true iff the first Monomial is larger than the product of the second and the third | |
virtual int | cmp (const Monomial &t, const Monomial &u) const |
{@ More... | |
![]() | |
virtual | ~Monomial_Ordering () |
needs virtual destructor for polymorphic delete | |
virtual void | set_data (Monomial &) |
sets monomial ordering’s data; default is to do nothing | |
bool | first_larger_or_equal (const Monomial &, const Monomial &) const |
returns true iff the first Monomial is larger or equal to the second More... | |
bool | first_smaller_or_equal (const Monomial &, const Monomial &) const |
returns true iff the first Monomial is smaller or equal to the second More... | |
bool | first_larger_or_equal_than_multiple (const Monomial &, const Monomial &, const Monomial &) const |
returns true iff the first Monomial is larger or equal to the specified multiple of the second More... | |
bool | first_smaller_than_multiple (const Monomial &, const Monomial &, const Monomial &) const |
returns true iff the first Monomial is smaller than the specified multiple of the second More... | |
bool | first_smaller_or_equal_than_multiple (const Monomial &, const Monomial &, const Monomial &) const |
returns true iff the first Monomial is smaller or equal to the specified multiple of the second More... | |
generic grevlex ordering, works with any number of variables
The difference between Generic_Grevlex and Grevlex_Ordering is that the former doesn’t track any Monomial_Order_Data, while the latter relies on it. The latter should, as a result, be more time efficient, while the former is more space efficient. Generic_Grevlex will also order monomials which by design have a different number of variables, though that should not in general be something one encounters, and it’s rather dangerous with first_larger_than_multiple().
Definition at line 26 of file particular_orderings.hpp.
{@
returns 0 if the Monomials are like; negative if smaller, positive if larger – for efficiency, you probably want to redefine this
Implements Monomial_Ordering.
Definition at line 41 of file particular_orderings.hpp.