127 const std::vector<int> &wts,
133 const std::vector<int> &wts)
const;
136 const std::vector<int> &wts)
const;
159 int first_var)
const;
176 bool p_parens =
false)
const;
base class for Groebner basis computations.
virtual ring_elem add(const ring_elem f, const ring_elem g) const
ring_elem set_non_unit_frac(ring_elem top) const
virtual void text_out(buffer &o) const
virtual bool is_homogeneous(const ring_elem f) const
virtual ring_elem copy(const ring_elem f) const
virtual ring_elem eval(const RingMap *map, const ring_elem f, int first_var) const
virtual ring_elem homogenize(const ring_elem f, int v, int deg, const std::vector< int > &wts) const
virtual int index_of_var(const ring_elem a) const
ring_elem numerator(ring_elem f) const
virtual void lift_up(const Ring *R, const Matrix *m, Matrix *&result) const
virtual ring_elem from_long(long n) const
virtual ring_elem var(int v) const
virtual ring_elem mult(const ring_elem f, const ring_elem g) const
local_elem * make_elem(ring_elem a, ring_elem b) const
virtual ring_elem negate(const ring_elem f) const
virtual void elem_text_out(buffer &o, const ring_elem f, bool p_one=true, bool p_plus=false, bool p_parens=false) const
virtual ring_elem get_coeff(const ring_elem f, const_monomial m) const
virtual ring_elem term(const ring_elem a, const_monomial m) const
virtual bool multi_degree(const ring_elem f, monomial d) const
virtual ring_elem invert(const ring_elem f) const
virtual bool promote(const Ring *R, const ring_elem f, ring_elem &result) const
ring_elem fraction(const ring_elem top, const ring_elem bottom) const
virtual CoefficientType coefficient_type() const
virtual void syzygy(const ring_elem a, const ring_elem b, ring_elem &x, ring_elem &y) const
virtual ring_elem lead_coeff(const ring_elem f) 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.
virtual bool is_unit(const ring_elem f) const
ring_elem denominator(ring_elem f) const
virtual unsigned int computeHashValue(const ring_elem a) const
virtual ring_elem get_terms(int nvars0, const ring_elem f, int lo, int hi) const
virtual int n_terms(const ring_elem f) const
const PolyRing * get_ring() const
bool is_in_prime(const ring_elem f) const
const LocalRing * cast_to_LocalRing() const
virtual bool is_equal(const ring_elem f, const ring_elem g) const
virtual void remove(ring_elem &f) const
virtual ring_elem from_int(mpz_srcptr n) const
virtual ring_elem random() const
virtual int compare_elems(const ring_elem f, const ring_elem g) const
virtual void degree_weights(const ring_elem f, const std::vector< int > &wts, int &lo, int &hi) const
virtual M2_arrayint support(const ring_elem a) const
void lower_content(ring_elem &c, const ring_elem g) const
virtual ring_elem divide(const ring_elem f, const ring_elem g) const
unsigned long get_precision() const
virtual bool from_rational(mpq_srcptr n, ring_elem &result) const
static LocalRing * create(const PolyRing *R, GBComputation *P)
virtual bool is_zero(const ring_elem f) const
bool initialize_local(const PolyRing *R, GBComputation *P)
LocalRing * cast_to_LocalRing()
virtual int n_fraction_vars() const
virtual bool is_graded() const
virtual ring_elem subtract(const ring_elem f, const ring_elem g) const
local_elem * new_local_elem() const
virtual bool lift(const Ring *R, const ring_elem f, ring_elem &result) const
void simplify(local_elem *f) const
virtual bool is_local_ring() const
Engine-side localisation of a polynomial ring at a prime ideal.
Concrete PolyRingFlat subclass implementing ordinary commutative polynomial rings K[x_1,...
Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps...
GBComputation — abstract base of every Groebner-basis algorithm in the engine.
const int * const_monomial
VALGRIND_MAKE_MEM_DEFINED & result(result)
Concrete commutative PolyRing — standard polynomial ring inheriting from PolyRingFlat.
PolynomialRing — abstract polynomial-ring base, the engine's most-reused class.
Ring — the legacy abstract base class for every coefficient and polynomial ring.