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

the lex ordering for a specified number of variables More...

#include <particular_orderings.hpp>

Inheritance diagram for Lex_Ordering:
Monomial_Ordering

Public Member Functions

Construction
 Lex_Ordering (NVAR_TYPE number_of_variables)
 
Comparison
virtual bool first_larger (const Monomial &t, const Monomial &u) const
 returns true iff \(t>u\) by sums of successively fewer exponents
 
virtual bool first_smaller (const Monomial &t, const Monomial &u) const
 returns true iff \(t< u\) by sums of successively fewer exponents
 
virtual bool first_larger_than_multiple (const Monomial &t, const Monomial &u, const Monomial &v) const
 returns true iff \(t>u\) by sums of successively fewer exponents
 
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...
 

Protected Attributes

const NVAR_TYPE n
 the number of variables, which should remain constant
 

Detailed Description

the lex ordering for a specified number of variables

Author
John Perry
Date
2015

The lex ordering is a dictionary ordering. The first variable is considered largest, and monomials with a larger degree in the first variable will be considered larger than monomials with a smaller degree in the first variable, regardless of the overall degree in all variables.

Examples:
test_cyclicn.cpp.

Definition at line 271 of file particular_orderings.hpp.

Constructor & Destructor Documentation

◆ Lex_Ordering()

Lex_Ordering::Lex_Ordering ( NVAR_TYPE  number_of_variables)

creates a lex ordering specific to \(n\) variables

Definition at line 307 of file particular_orderings.cpp.

Member Function Documentation

◆ cmp()

virtual int Lex_Ordering::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 294 of file particular_orderings.hpp.


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