Macaulay2 Engine
Loading...
Searching...
No Matches
reducedgb-field.hpp
Go to the documentation of this file.
1// Copyright 2005, Michael E. Stillman
2
3#ifndef _reducedgb_field_
4#define _reducedgb_field_
5
6#include "reducedgb.hpp"
7
14{
15 friend ReducedGB *ReducedGB::create(const PolynomialRing *originalR0,
16 const FreeModule *F0,
17 const FreeModule *Fsyz0,
18 const GBWeight *wt0);
19
20 protected:
23
25 const PolynomialRing *originalR0,
26 const FreeModule *F0,
27 const FreeModule *Fsyz0);
28
29 public:
30 virtual ~ReducedGB_Field();
31
32 virtual void remove_gb() {}
33 virtual void set_gb(VECTOR(POLY) & polys0);
34
35 virtual void minimalize(const VECTOR(POLY) & polys0, bool auto_reduced);
36
37 virtual void remainder(POLY &f, bool use_denom, ring_elem &denom);
38
39 virtual void remainder(gbvector *&f, bool use_denom, ring_elem &denom);
40};
41
42#endif
43
44// Local Variables:
45// compile-command: "make -C $M2BUILDDIR/Macaulay2/e "
46// indent-tabs-mode: nil
47// End:
Engine-side free module R^n over a Ring.
Definition freemod.hpp:66
Polynomial-ring view tuned for the inner loop of classical Buchberger Groebner-basis computations.
Definition gbring.hpp:120
Heuristic-weight evaluator for gbvectors, used during Groebner basis computation to drive the S-pair ...
Definition gbweight.hpp:67
Engine-side monomial ideal: a decision tree of Nmi_nodes storing the (typically minimal) generators b...
Definition monideal.hpp:136
Indexed table of monomials with fast "find a divisor" lookup, keyed by a free integer val per entry.
Definition montable.hpp:81
Abstract base for the engine's polynomial-ring hierarchy.
Definition polyring.hpp:96
ReducedGB_Field(GBRing *R0, const PolynomialRing *originalR0, const FreeModule *F0, const FreeModule *Fsyz0)
virtual ~ReducedGB_Field()
virtual void remainder(POLY &f, bool use_denom, ring_elem &denom)
virtual void minimalize(const VECTOR(POLY) &polys0, bool auto_reduced)
virtual void remove_gb()
const MonomialIdeal * Rideal
MonomialTable * T
virtual void set_gb(VECTOR(POLY) &polys0)
static ReducedGB * create(const PolynomialRing *originalR0, const FreeModule *F0, const FreeModule *Fsyz0, const GBWeight *wt0=nullptr)
Definition reducedgb.cpp:11
ReducedGB(GBRing *R0, const PolynomialRing *originalR0, const FreeModule *F0, const FreeModule *Fsyz0)
Definition reducedgb.cpp:35
#define VECTOR(T)
Definition newdelete.hpp:78
#define POLY(q)
Definition poly.cpp:23
ReducedGB — abstract base for the canonicalising reduction pass that follows GB computation.