Append-only GC-backed byte buffer used throughout the engine for text output.
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
void append_order(const SchreyerOrder *G)
void text_out(buffer &o) const
int schreyer_compare_encoded(const_monomial m, int m_comp, const_monomial n, int n_comp) const
bool is_equal(const SchreyerOrder *G) const
SchreyerOrder * exterior(int p) const
void append(int compare_num, const_monomial base_monom)
SchreyerOrder * symm(int n) const
SchreyerOrder * sub_space(int n) const
static SchreyerOrder * create(const Monoid *m)
const Monoid * getMonoid() const
SchreyerOrder(const Monoid *m)
int schreyer_compare(const_monomial m, int m_comp, const_monomial n, int n_comp) const
SchreyerOrder * direct_sum(const SchreyerOrder *G) const
SchreyerOrder * tensor(const SchreyerOrder *G) const
void schreyer_up(const_monomial m, int comp, monomial result) const
void schreyer_down(const_monomial m, int comp, monomial result) const
int compare_num(int i) const
const_monomial base_monom(int i) const
SchreyerOrder * copy() const
Per-component tie-breaker data for a Schreyer monomial order on a FreeModule.
const int * const_monomial
VALGRIND_MAKE_MEM_DEFINED & result(result)
Monoid — variable count, naming, grading, and monomial order of a polynomial ring.
typename std::vector< T, gc_allocator< T > > gc_vector
a version of the STL vector, which allocates its backing memory with gc.
gbvector-side matrix: a target FreeModule plus a list of gbvector* columns living in it.