#include <groebner_alg.h>
Public Types | |
typedef std::priority_queue < Pair, std::vector< PairE > , PairECompare > | queue_type |
Public Member Functions | |
PairManager (GroebnerStrategy &strat) | |
void | appendHiddenGenerators (std::vector< Polynomial > &vec) |
void | introducePair (const Pair &p) |
Polynomial | nextSpoly (const PolyEntryVector &gen) |
bool | pairSetEmpty () const |
void | cleanTopByChainCriterion () |
Public Attributes | |
PairStatusSet | status |
GroebnerStrategy * | strat |
queue_type | queue |
Protected Member Functions | |
void | replacePair (int &i, int &j) |
typedef std::priority_queue<Pair,std::vector<PairE>, PairECompare> polybori::groebner::PairManager::queue_type |
polybori::groebner::PairManager::PairManager | ( | GroebnerStrategy & | strat | ) | [inline] |
void polybori::groebner::PairManager::appendHiddenGenerators | ( | std::vector< Polynomial > & | vec | ) |
void polybori::groebner::PairManager::cleanTopByChainCriterion | ( | ) |
References polybori::groebner::GroebnerStrategy::chainCriterions, polybori::BooleExponent::divisors(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::GroebnerStrategy::extendedProductCriterions, polybori::groebner::GroebnerStrategy::generators, polybori::groebner::PairStatusSet::hasTRep(), polybori::groebner::VariablePairData::i, polybori::groebner::IJPairData::i, polybori::groebner::IJ_PAIR, polybori::BooleSet::intersect(), polybori::groebner::IJPairData::j, polybori::groebner::GroebnerStrategy::leadingTerms, polybori::groebner::GroebnerStrategy::log(), polybori::groebner::GroebnerStrategy::pairs, pairSetEmpty(), queue, polybori::groebner::PairStatusSet::setToHasTRep(), status, strat, polybori::groebner::VariablePairData::v, polybori::groebner::VARIABLE_PAIR, and polybori::groebner::GroebnerStrategy::variableChainCriterions.
void polybori::groebner::PairManager::introducePair | ( | const Pair & | p | ) |
Polynomial polybori::groebner::PairManager::nextSpoly | ( | const PolyEntryVector & | gen | ) |
References polybori::groebner::GroebnerStrategy::generators, polybori::groebner::VariablePairData::i, polybori::groebner::IJPairData::i, polybori::groebner::IJ_PAIR, polybori::BoolePolynomial::isZero(), polybori::groebner::IJPairData::j, polybori::BoolePolynomial::lead(), pairSetEmpty(), queue, polybori::groebner::GroebnerStrategy::r, replacePair(), polybori::groebner::PairStatusSet::setToHasTRep(), polybori::spoly(), status, strat, UNLIKELY, polybori::groebner::VariablePairData::v, polybori::groebner::VARIABLE_PAIR, and polybori::BooleRing::zero().
bool polybori::groebner::PairManager::pairSetEmpty | ( | ) | const |
void polybori::groebner::PairManager::replacePair | ( | int & | i, | |
int & | j | |||
) | [protected] |
References polybori::BooleSet::divisorsOf(), polybori::groebner::GroebnerStrategy::exp2Index, polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::GroebnerStrategy::generators, polybori::groebner::PairStatusSet::hasTRep(), polybori::groebner::GroebnerStrategy::leadingTerms, status, and strat.
Referenced by nextSpoly().
Referenced by polybori::groebner::GroebnerStrategy::addGenerator(), cleanTopByChainCriterion(), nextSpoly(), polybori::groebner::HasTRepOrExtendedProductCriterion::operator()(), polybori::groebner::ChainVariableCriterion::operator()(), polybori::groebner::ChainCriterion::operator()(), and replacePair().