exponents::ConstExponents const_exponents
Engine-side free module R^n over a Ring.
int find_divisor(const MonomialIdeal *mi, const_exponents exp, int &result)
bool stop_conditions_ok()
bool find_ring_divisor(const_exponents exp, const gbvector *&result)
void reduce(gbvector *&g, gbvector *&gsyz)
void geo_reduce(gbvector *&g, gbvector *&gsyz)
gc_vector< gbvector * > syzygies
virtual ~GBKernelComputation()
void strip_gb(const gc_vector< gbvector * > &m)
const GBKernelComputation * cast_to_GBKernelComputation() const
int complete_thru_degree() const
GBMatrix * get_syzygies()
gc_vector< gbvector * > gb
GBKernelComputation(const GBMatrix *m)
void wipe_unneeded_terms(gbvector *&f)
gbvector * s_pair(gbvector *syz)
gc_vector< MonomialIdeal * > mi
gbvector * make_syz_term(ring_elem c, const_monomial monom, int comp) const
GBKernelComputation * cast_to_GBKernelComputation()
Polynomial-ring view tuned for the inner loop of classical Buchberger Groebner-basis computations.
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
Engine-side monomial ideal: a decision tree of Nmi_nodes storing the (typically minimal) generators b...
Abstract base for the engine's polynomial-ring hierarchy.
Per-component tie-breaker data for a Schreyer monomial order on a FreeModule.
Abstract Computation base class — stop-condition machinery for incremental engine work.
GBRing and gbvector — the GB-tuned polynomial-ring view used by classical Buchberger code.
const int * const_monomial
VALGRIND_MAKE_MEM_DEFINED & result(result)
Matrix — the engine's immutable homomorphism F -> G between free modules.
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.
PolynomialRing — abstract polynomial-ring base, the engine's most-reused class.
SchreyerOrder — per-basis-element data backing the Schreyer order on a free module.
const FreeModule * get_free_module() const
gc_vector< gbvector * > elems
GBMatrix(const Matrix *m)
gbvector-side matrix: a target FreeModule plus a list of gbvector* columns living in it.