Macaulay2 Engine
Loading...
Searching...
No Matches
gb-sugarless.hpp File Reference

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...

Detailed Description

GBinhom_comp — Buchberger GB without the sugar heuristic, primarily for inhomogeneous input.

Note
AI-generated documentation. Verify against the source before relying on it.

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.

See also
gb-default.hpp
comp-gb.hpp
spair.hpp

Definition in file gb-sugarless.hpp.