Go to the documentation of this file.
18 #ifndef SCARF_HILBERT_ALGORITHM_GUARD
19 #define SCARF_HILBERT_ALGORITHM_GUARD
36 auto_ptr<IdealOrderer> enumerationOrder,
37 auto_ptr<IdealOrderer> deformationOrder);
57 size_t& activeStateCount);
const auto_ptr< IdealOrderer > _deformationOrder
Cont::const_iterator const_iterator
const ScarfParams & _params
Objects of this class represents a monomial ideal.
const TermTranslator & _translator
const auto_ptr< IdealOrderer > _enumerationOrder
void doEnumerationBaseCase(const State &state, CoefTermConsumer &consumer)
void runGeneric(const Ideal &ideal, CoefBigTermConsumer &consumer, bool univariate, bool canonical)
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Term represents a product of variables which does not include a coefficient.
Ideal::const_iterator pos
ScarfHilbertAlgorithm(const TermTranslator &translator, const ScarfParams ¶ms, auto_ptr< IdealOrderer > enumerationOrder, auto_ptr< IdealOrderer > deformationOrder)
void initializeEnumeration(const Ideal &ideal, size_t &activeStateCount)
bool doEnumerationStep(const Ideal &ideal, const IdealTree &tree, State &state, State &nextState)
Represents a monomial ideal with int exponents.
void enumerateScarfComplex(const Ideal &ideal, CoefTermConsumer &consumer)
vector< Exponent * > face