Macaulay2 Engine
Loading...
Searching...
No Matches
reducedgb-ZZ.hpp
Go to the documentation of this file.
1// Copyright 2005, Michael E. Stillman
2
3#ifndef _reducedgb_ZZ_hpp_
4#define _reducedgb_ZZ_hpp_
5
6#include "reducedgb.hpp"
7
13class ReducedGB_ZZ : public ReducedGB
14{
15 friend ReducedGB *ReducedGB::create(const PolynomialRing *originalR0,
16 const FreeModule *F0,
17 const FreeModule *Fsyz0,
18 const GBWeight *wt0);
19
21
24
25 enum divisor_type find_divisor(exponents_t exp, int comp, int &result_loc);
26
28 const PolynomialRing *originalR0,
29 const FreeModule *F0,
30 const FreeModule *Fsyz0);
31
32 public:
33 virtual ~ReducedGB_ZZ();
34
35 virtual void remove_gb() {}
36 virtual void set_gb(VECTOR(POLY) & polys0);
37
38 virtual void minimalize(const VECTOR(POLY) & polys0, bool auto_reduced);
39 // I have to decide: does this ADD to the existing set?
40
41 virtual void remainder(POLY &f, bool use_denom, ring_elem &denom);
42 // WARNING: this should only be used with term orders!
43 // REALLY??
44 virtual void remainder(gbvector *&f, bool use_denom, ring_elem &denom);
45};
46
47#endif
48
49// Local Variables:
50// compile-command: "make -C $M2BUILDDIR/Macaulay2/e "
51// indent-tabs-mode: nil
52// End:
exponents::Exponents exponents_t
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
MonomialTable analogue for monomials carrying a ZZ coefficient.
Abstract base for the engine's polynomial-ring hierarchy.
Definition polyring.hpp:96
ReducedGB_ZZ(GBRing *R0, const PolynomialRing *originalR0, const FreeModule *F0, const FreeModule *Fsyz0)
const MonomialTableZZ * ringtableZZ
virtual void set_gb(VECTOR(POLY) &polys0)
MonomialTableZZ * T
virtual void minimalize(const VECTOR(POLY) &polys0, bool auto_reduced)
virtual void remove_gb()
virtual void remainder(POLY &f, bool use_denom, ring_elem &denom)
virtual ~ReducedGB_ZZ()
enum divisor_type find_divisor(exponents_t exp, int comp, int &result_loc)
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.