Go to the documentation of this file.
18 #ifndef BIGATTI_BASE_CASE_GUARD
19 #define BIGATTI_BASE_CASE_GUARD
bool baseCase(const BigattiState &state)
Returns true if state is a base case slice without considering genericity.
A sparse multivariate polynomial represented by a hash table mapping terms to coefficients.
const TermTranslator & _translator
Used to translate the output from ints.
Cont::const_iterator const_iterator
vector< size_t > _maxCount
size_t getTotalBaseCasesEver() const
Returns the total number of base cases this object has seen.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
void setComputeUnivariate(bool value)
Use the fine grading if value is false, otherwise grade each variable by the same variable t.
bool _computeUnivariate
Use the fine grading if false, otherwise grade each variable by the same variable t.
Ideal::const_iterator pos
bool simpleBaseCase(const BigattiState &state)
Computes the Hilbert-Poincare series of state and returns true if state is a particularly simple and ...
vector< State > _states
Used in enumerateScarfCompex.
void setPrintDebug(bool value)
Starts to print debug output on what happens if value is true.
Used in enumerateScarfComplex and necessary to have here to define _states.
A sparse univariate polynomial represented by a hash table mapping terms to coefficients.
size_t _totalBaseCasesEver
For statistics.
void feedOutputTo(CoefBigTermConsumer &consumer, bool inCanonicalOrder)
Feed the output Hilbert-Poincare numerator polynomial computed so far to the consumer.
Term represents a product of variables which does not include a coefficient.
HashPolynomial _outputMultivariate
The part of the finely graded Hilbert-Poincare numerator polynomial computed so far.
void output(bool plus, const Term &term)
Add +term or -term to the output polynomial when plus is true or false respectively.
UniHashPolynomial _outputUnivariate
The part of the coarsely graded Hilbert-Poincare numerator polynomial computed so far.
void enumerateScarfComplex(const BigattiState &state, bool allFaces)
The ideal in state must be weakly generic.
BigattiBaseCase(const TermTranslator &translator)
Initialize this object to handle the computation of Hilbert-Poincare series numerator polynomials in ...
size_t getTotalTermsInOutput() const
Returns the number of terms in the output polynomial right now.
bool univariateAllFaces(const BigattiState &state)
This class handles the base cases for the Hilbert-Poincare series by Bigatti et.al.
size_t getTotalTermsOutputEver() const
Returns the total number of terms this object has output.
size_t _totalTermsOutputEver
For statistics.
bool genericBaseCase(const BigattiState &state)
Returns ture if state is a base case slice while also considering genericity.