18#ifndef BIGATTI_HILBERT_ALGORITHM_GUARD
19#define BIGATTI_HILBERT_ALGORITHM_GUARD
41 unique_ptr<BigattiPivotStrategy> pivot,
57 void freeState(unique_ptr<BigattiState> state);
70 unique_ptr<BigattiPivotStrategy>
_pivot;
This class handles the base cases for the Hilbert-Poincare series by Bigatti et.al.
void freeState(unique_ptr< BigattiState > state)
unique_ptr< BigattiPivotStrategy > _pivot
void setDoCanonicalOutput(bool value)
void setPrintStatistics(bool value)
BigattiHilbertAlgorithm(unique_ptr< Ideal > ideal, const TermTranslator &translator, const BigattiParams ¶ms, unique_ptr< BigattiPivotStrategy > pivot, CoefBigTermConsumer &consumer)
Construct an object for running the Bigatti et.al.
CoefBigTermConsumer * _consumer
void getPivot(BigattiState &state, size_t &var, Exponent &e)
void setPrintDebug(bool value)
BigattiBaseCase _baseCase
void simplify(BigattiState &state)
Term _tmp_processState_pivot
void setComputeUnivariate(bool value)
ObjectCache< BigattiState > _stateCache
void processState(unique_ptr< BigattiState > state)
void setUseSimplification(bool value)
friend class BigattiState
const TermTranslator & _translator
An ObjectCache keeps a cache of previously-used objects to cut down on the number of allocations.
TaskEngine handles a list of tasks that are to be carried out.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Term represents a product of variables which does not include a coefficient.