FreeModule * transpose() const
M2_arrayintOrNull select_by_degrees(M2_arrayintOrNull lo, M2_arrayintOrNull hi) const
virtual FreeModule * new_free() const
FreeModule * tensor(const FreeModule *G) const
const Ring * get_ring() const
const_monomial degree(int i) const
gc_vector< monomial > components
void initialize(const Ring *RR)
void change_degree(int i, const_monomial deg)
void append(const_monomial d)
FreeModule * exterior(int p) const
void direct_sum_to(const FreeModule *G)
FreeModule * symm(int p) const
FreeModule(const Ring *R, int n, bool has_schreyer_order)
bool is_equal(const FreeModule *F) const
FreeModule * shift(const_monomial d) const
virtual unsigned int computeHashValue() const
int primary_degree(int i) const
Matrix * get_induced_order() const
friend class ResF4toM2Interface
FreeModule * sub_space(int n) const
int lowest_primary_degree() const
void append_schreyer(const_monomial d, const_monomial base_monom, int compare_num)
FreeModule * schur(const_monomial m) const
FreeModule * direct_sum(const FreeModule *G) const
const SchreyerOrder * get_schreyer_order() const
int highest_primary_degree() const
static FreeModule * make_schreyer(const Matrix *m)
void text_out(buffer &o) const
Engine-side free module R^n over a Ring.
Per-component tie-breaker data for a Schreyer monomial order on a FreeModule.
const int * const_monomial
M2_arrayint M2_arrayintOrNull
typename std::vector< T, gc_allocator< T > > gc_vector
a version of the STL vector, which allocates its backing memory with gc.
Ring — the legacy abstract base class for every coefficient and polynomial ring.
SchreyerOrder — per-basis-element data backing the Schreyer order on a free module.
gbvector-side matrix: a target FreeModule plus a list of gbvector* columns living in it.