Macaulay2 Engine
Loading...
Searching...
No Matches
SchreyerOrder Class Reference

Per-component tie-breaker data for a Schreyer monomial order on a FreeModule. More...

#include <schorder.hpp>

Inheritance diagram for SchreyerOrder:
our_new_delete

Public Member Functions

void remove ()
int rank () const
int compare_num (int i) const
const_monomial base_monom (int i) const
const MonoidgetMonoid () const
bool is_equal (const SchreyerOrder *G) const
SchreyerOrdercopy () const
SchreyerOrdersub_space (int n) const
SchreyerOrdersub_space (M2_arrayint a) const
void append_order (const SchreyerOrder *G)
SchreyerOrderdirect_sum (const SchreyerOrder *G) const
SchreyerOrdertensor (const SchreyerOrder *G) const
SchreyerOrderexterior (int p) const
SchreyerOrdersymm (int n) const
void append (int compare_num, const_monomial base_monom)
void schreyer_up (const_monomial m, int comp, monomial result) const
void schreyer_down (const_monomial m, int comp, monomial result) const
int schreyer_compare (const_monomial m, int m_comp, const_monomial n, int n_comp) const
int schreyer_compare_encoded (const_monomial m, int m_comp, const_monomial n, int n_comp) const
void text_out (buffer &o) const

Static Public Member Functions

static SchreyerOrdercreate (const Monoid *m)
static SchreyerOrdercreate (const Matrix *m)
static SchreyerOrdercreate (const GBMatrix *m)
Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Private Member Functions

 SchreyerOrder (const Monoid *m)
 ~SchreyerOrder ()

Private Attributes

const MonoidM
gc_vector< int_order
int _nslots
int _rank

Detailed Description

Per-component tie-breaker data for a Schreyer monomial order on a FreeModule.

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

For each of the _rank components, stores a compare_num plus the component's base monomial as a flat [compare_num, encoded_monom] slice of width _nslots inside _order. When two FreeModule entries with different components are compared, their monomials get pre-multiplied by their respective base_monoms and then ranked by compare_num — the standard Schreyer recipe that keeps the resolution's GB machinery consistent across levels.

Definition at line 67 of file schorder.hpp.


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