|
Macaulay2 Engine
|
HilbertController — early-exit driver for F4 given a known Hilbert series. More...
Go to the source code of this file.
Classes | |
| class | HilbertController |
| Hilbert-function-driven early termination helper used by F4GB to skip degrees the user-supplied Hilbert series predicts hold no new basis elements. More... | |
HilbertController — early-exit driver for F4 given a known Hilbert series.
Declares HilbertController, the helper F4 consults when the user supplies the expected Hilbert series of the input ideal. setDegree(d) reads the expected number of new generators in degree d off the supplied Hilbert series and stores it in hilb_n_in_degree; addMonomial(...) decrements the counter each time F4 commits a new leading monomial of that degree; nRemainingExpected() lets F4 abandon any remaining degree-d S-pairs once the counter hits zero. Skipping the unproductive pairs avoids the matrix builds they would have triggered and the cascading work at later degrees.
Constructed from a target FreeModule* (so the Hilbert function is interpreted in the right multi-grading) and a RingElement* hf carrying the user-supplied series. hilb.hpp is what produces the series in the first place.
Definition in file hilb-fcn.hpp.