Macaulay2 Engine
Loading...
Searching...
No Matches
PolynomialHeap Class Referenceabstract

Abstract interface for accumulating a polynomial as a sum of (coeff, left * poly * right) contributions in the free algebra. More...

#include <NCReduction.hpp>

Inheritance diagram for PolynomialHeap:
our_new_delete MapPolynomialHeap NaiveDedupPolynomialHeap< Queue > NaivePolynomialHeap< Queue > PriorityQueuePolynomialHeap TrivialPolynomialHeap

Public Member Functions

virtual ~PolynomialHeap ()
virtual PolynomialHeapaddPolynomial (const Poly &poly)=0
virtual PolynomialHeapaddPolynomial (ring_elem coeff, Word left, Word right, const Poly &poly)=0
virtual bool isZero ()=0
virtual std::pair< Monom, ring_elemviewLeadTerm ()=0
virtual void removeLeadTerm ()=0
virtual Polyvalue ()=0
virtual size_t getMemoryUsedInBytes ()=0
virtual void clear ()=0
virtual std::string getName () const =0

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

Abstract interface for accumulating a polynomial as a sum of (coeff, left * poly * right) contributions in the free algebra.

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

The standard "geobucket"-shaped API used by NCGroebner / NCF4 reduction loops: addPolynomial slots a new contribution in, isZero collapses the heap until either a non-zero lead term is available or the heap is genuinely empty, viewLeadTerm / removeLeadTerm walk the result, and value() materialises everything into a Poly. Concrete subclasses (TrivialPolynomialHeap, MapPolynomialHeap, PriorityQueuePolynomialHeap, the geobucket-backed NaivePolynomialHeap<Queue>) live in NCReduction.cpp and make different storage / deduplication trade-offs.

Definition at line 64 of file NCReduction.hpp.


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