Macaulay2 Engine
Loading...
Searching...
No Matches
interreduce.hpp
Go to the documentation of this file.
1/* Copyright 2010, Michael E. Stillman */
2
3#ifndef _interreduce_h_
4#define _interreduce_h_
5
37
38#include "gbring.hpp"
39
55{
59
60 public:
62
63 void showElem(int i, int nterms);
64 void show(int nterms);
65
66 int cancelLT(gbvector *&f, const gbvector *g);
67 // reduces f by g, until lt(f) is not divisible by lt(g).
68 // returns #reductions performed.
69
70 int reduceTail(gbvector *&f, const gbvector *g);
71 // reduces f by g, until no term of f is divisible by lt(g).
72 // returns #reductions performed.
73
74 bool reduceLT(gbvector *&f, int i);
75 // reduces f w.r.t G \ i.
76
77 bool reduceTail(gbvector *&f, int i);
78 // reduces f w.r.t G \ i.
79};
80
81#endif
82
83// Local Variables:
84// compile-command: "make -C $M2BUILDDIR/Macaulay2/e"
85// indent-tabs-mode: nil
86// 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
FreeModule * F
Interreducer(GBRing *R, FreeModule *F, VECTOR(gbvector *) &elems0)
void showElem(int i, int nterms)
bool reduceTail(gbvector *&f, int i)
bool reduceLT(gbvector *&f, int i)
VECTOR(gbvector *) G
void show(int nterms)
int reduceTail(gbvector *&f, const gbvector *g)
int cancelLT(gbvector *&f, const gbvector *g)
GBRing and gbvector — the GB-tuned polynomial-ring view used by classical Buchberger code.
#define VECTOR(T)
Definition newdelete.hpp:78
tbb::flow::graph G