Macaulay2 Engine
Loading...
Searching...
No Matches
HilbertController Class Reference

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>

Inheritance diagram for HilbertController:
our_new_delete

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 ()
Matrixmake_lead_term_matrix ()
 VECTOR (vec) elems

Private Attributes

const PolynomialRingR
const FreeModuleF
MatrixConstructorleadterms
bool hilb_new_elems
int hilb_n_in_degree
const RingElementhf_orig
RingElementhf_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)

Detailed Description

Hilbert-function-driven early termination helper used by F4GB to skip degrees the user-supplied Hilbert series predicts hold no new basis elements.

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

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.


The documentation for this class was generated from the following files: