|
Macaulay2 Engine
|
Hilbert-function-driven early termination helper used by F4GB to skip degrees the user-supplied Hilbert series predicts hold no new basis elements. More...
#include <hilb-fcn.hpp>
Public Member Functions | |
| HilbertController (const FreeModule *F0, const RingElement *hf) | |
| ~HilbertController () | |
| int | nRemainingExpected () |
| bool | setDegree (int this_degree) |
| bool | addMonomial (int *a, int comp) |
Private Member Functions | |
| bool | recomputeHilbertFunction () |
| Matrix * | make_lead_term_matrix () |
| VECTOR (vec) elems | |
Private Attributes | |
| const PolynomialRing * | R |
| const FreeModule * | F |
| MatrixConstructor * | leadterms |
| bool | hilb_new_elems |
| int | hilb_n_in_degree |
| const RingElement * | hf_orig |
| RingElement * | hf_diff |
Additional Inherited Members | |
| Static Public Member Functions inherited from our_new_delete | |
| static void * | operator new (size_t size) |
| static void * | operator new[] (size_t size) |
| static void | operator delete (void *obj) |
| static void | operator delete[] (void *obj) |
| static void * | operator new (size_t size, void *existing_memory) |
| static void * | operator new[] (size_t size, void *existing_memory) |
| static void | operator delete (void *obj, void *existing_memory) |
| static void | operator delete[] (void *obj, void *existing_memory) |
Hilbert-function-driven early termination helper used by F4GB to skip degrees the user-supplied Hilbert series predicts hold no new basis elements.
Constructed with the source FreeModule and a RingElement* hf encoding the expected Hilbert series. setDegree(d) advances the controller to degree d and exposes nRemainingExpected(), the number of basis-element insertions the series still predicts at that degree. addMonomial(a, comp) is called for each newly minimal monomial and decrements the count; when the count hits zero the driver can skip the rest of the degree.
Definition at line 56 of file hilb-fcn.hpp.