|
Macaulay2 Engine
|
GBinhom_comp — Buchberger GB without the sugar heuristic, primarily for inhomogeneous input. More...
#include "relem.hpp"#include "matrix.hpp"#include "polyring.hpp"#include "comp-gb.hpp"#include "reducedgb.hpp"#include "spair.hpp"#include "matrix-con.hpp"Go to the source code of this file.
Classes | |
| class | GBinhom_comp |
| A Groebner basis computation class for inhomogeneous input modules. More... | |
GBinhom_comp — Buchberger GB without the sugar heuristic, primarily for inhomogeneous input.
Declares GBinhom_comp, a GBComputation subclass that runs the same Buchberger loop as gbA but selects S-pairs purely by leading-monomial degree instead of by sugar (the degree the S-polynomial would have if no cancellation occurred). The class works on homogeneous modules too but is principally intended for inhomogeneous inputs where sugar-aware selection could mislead, and as a sugar-free baseline for regression testing the default gbA. The header comment is candid that performance is "poor in many cases, dramatically good in others" — a worthwhile fallback rather than a general default.
It plugs into the same GBComputation interface as the rest of the GB strategy family and is reached through comp-gb.cpp's algorithm == 4 case (the Algorithm => argument on the M2 side; the separate Strategy => argument is passed through to the constructor but does not select between subclasses). The homogeneous specialisation (gb-homog2.hpp, algorithm == 5), the toric variant (gb-toric.hpp, == 7), the legacy F4 (== 6), the new F4 (== 9), and the Groebner walk (gb-walk.hpp) cover the remaining non-default paths; the fall-through is gbA from gb-default.hpp.
Definition in file gb-sugarless.hpp.