Gröbner basis project
Codebase for research into Gröbner basis computation
Generic_Grevlex Class Reference

generic grevlex ordering, works with any number of variables More...

#include <particular_orderings.hpp>

Inheritance diagram for Generic_Grevlex:
Monomial_Ordering

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...
 
- Public Member Functions inherited from Monomial_Ordering
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...
 

Detailed Description

generic grevlex ordering, works with any number of variables

Author
John Perry
Date
2015

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.

Member Function Documentation

◆ cmp()

virtual int Generic_Grevlex::cmp ( const Monomial t,
const Monomial u 
) const
inlinevirtual

{@

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.


The documentation for this class was generated from the following files: