|
Macaulay2 Engine
|
GB_comp — Buchberger GB specialised to homogeneous input. More...
#include "relem.hpp"#include "matrix.hpp"#include "polyring.hpp"#include "comp-gb.hpp"#include "spair.hpp"#include "gbweight.hpp"Go to the source code of this file.
Classes | |
| class | GB_comp |
| A Groebner basis computation class for homogeneous input modules. More... | |
Variables | |
| const int | GB_COMP_NEWDEGREE = 1 |
| const int | GB_COMP_NEED_RESIZE = 2 |
| const int | GB_COMP_S_PAIRS = 3 |
| const int | GB_COMP_GENS = 4 |
| const int | GB_COMP_AUTO_REDUCE = 5 |
| const int | GB_COMP_NEWPAIRS = 6 |
| const int | GB_COMP_DONE = 7 |
GB_comp — Buchberger GB specialised to homogeneous input.
Declares the homogeneous-specialised Groebner basis class GB_comp, along with its GB_COMP_* state constants (NEWDEGREE, NEED_RESIZE, S_PAIRS, GENS, AUTO_REDUCE, NEWPAIRS, DONE). The point of the specialisation is that S-polynomial degrees in a homogeneous ideal are monotonically non-decreasing, so the algorithm can process one degree at a time: ingest all generators of degree d, process every S-pair of degree d to completion, then yield the basis-up-to-degree-d and either stop (under DegreeLimit =>) or move on. This makes the homogeneous case naturally resumable and avoids the sugar bookkeeping the default gbA carries.
The default gb-default.hpp (gbA) produces the same answer for homogeneous input but pays the sugar overhead; the dispatcher in comp-gb.cpp reaches GB_comp through algorithm == 5 (homogeneity is not auto-detected — the caller picks). Sibling variants gb-sugarless.hpp, gb-toric.hpp, and gb-walk.hpp cover the other specialised paths.
Definition in file gb-homog2.hpp.