85 bool increment(
int *current_derivative,
const int *top_derivative)
const;
89 const int *derivatives,
94 const int *derivatives,
95 const Nterm *g)
const;
98 const int *derivatives,
104 const int *derivatives,
105 const Nterm *g)
const;
112 const int *derivatives,
exponents::ConstExponents const_exponents
Polynomial-ring view tuned for the inner loop of classical Buchberger Groebner-basis computations.
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
bool initialize_weyl(M2_arrayint derivs, M2_arrayint comms, int homog_var)
ring_elem diff_coefficients(const ring_elem c, const int *derivatives, const_exponents exp) const
vec weyl_diff(const FreeModule *resultF, const ring_elem c, const_exponents expf, int component, const int *derivatives, const Nterm *g) const
void extractCommutativePart(const_exponents exp, int *result) const
gbvector * gbvector_weyl_diff(GBRing *GR, const ring_elem c, int comp, const_exponents expf, const int *derivatives, const FreeModule *Fg, const gbvector *g) const
ring_elem multinomial(const ring_elem a, const_exponents exptop, const_exponents expbottom) const
virtual bool is_commutative_ring() const
virtual ring_elem power(const ring_elem f, mpz_srcptr n) const
Exponentiation. This is the default function, if a class doesn't define this.
gbvector * gbvector_mult_by_term(gbvectorHeap &result, const gbvector *f, const ring_elem c, const_monomial m, int comp) const
void extractDerivativePart(const_exponents exp, int *result) const
virtual void text_out(buffer &o) const
bool _homogeneous_weyl_algebra
virtual ring_elem mult_by_term(const ring_elem f, const ring_elem c, const_monomial m) const
vec weyl_diff(const ring_elem c, const_exponents expf, const int *derivatives, const vec g) const
ring_elem binomial(int top, int bottom) const
virtual const WeylAlgebra * cast_to_WeylAlgebra() const
Nterm * weyl_diff(const ring_elem c, const_exponents expf, const int *derivatives, const Nterm *g) const
virtual bool is_weyl_algebra() const
bool divides(const_exponents expbottom, const_exponents exptop) const
bool increment(int *current_derivative, const int *top_derivative) const
static WeylAlgebra * create(const Ring *K, const Monoid *M, M2_arrayint derivs, M2_arrayint comms, int homog_var)
static int ** diffcoeffstable
GBRing and gbvector — the GB-tuned polynomial-ring view used by classical Buchberger code.
const int * const_monomial
VALGRIND_MAKE_MEM_DEFINED & result(result)
Concrete commutative PolyRing — standard polynomial ring inheriting from PolyRingFlat.
Singly linked-list node carrying one term of a polynomial-ring element.