#include <groebner_alg.h>
Constructor & Destructor Documentation
polybori::groebner::GroebnerStrategy::GroebnerStrategy |
( |
const GroebnerStrategy & |
orig | ) |
|
References averageLength, cache, chainCriterions, currentDegree, easyProductCriterions, enabledLog, extendedProductCriterions, llReductor, monomials, normalForms, optAllowRecursion, optBrutalReductions, optDelayNonMinimals, optExchange, optLazy, optLinearAlgebraInLastBlock, optLL, optRedTail, optRedTailDegGrowth, optRedTailInLastBlock, optStepBounded, pairs, reduceByTailReduced, reducibleUntil, reductionSteps, polybori::groebner::PairManager::strat, and variableChainCriterions.
polybori::groebner::GroebnerStrategy::GroebnerStrategy |
( |
| ) |
|
|
inline |
Member Function Documentation
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::add4ImplDelayed |
( |
const Polynomial & |
p, |
|
|
const Exponent & |
lm_exp, |
|
|
const Exponent & |
used_variables, |
|
|
int |
s, |
|
|
bool |
include_orig |
|
) |
| |
|
protected |
void polybori::groebner::GroebnerStrategy::addAsYouWish |
( |
const Polynomial & |
p | ) |
|
References addGenerator(), addGeneratorDelayed(), addGeneratorTrySplit(), polybori::BooleExponent::deg(), polybori::BooleSet::divisorsOf(), polybori::BoolePolynomial::eliminationLength(), polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::BoolePolynomial::leadExp(), leadingTerms, optDelayNonMinimals, optRedTail, optRedTailInLastBlock, polybori::BooleSet::owns(), polybori::groebner::red_tail(), polybori::groebner::red_tail_in_last_block(), and polybori::BoolePolynomial::ring().
Referenced by symmGB_F2().
int polybori::groebner::GroebnerStrategy::addGenerator |
( |
const BoolePolynomial & |
p, |
|
|
bool |
is_impl = false , |
|
|
std::vector< int > * |
impl_v = NULL |
|
) |
| |
deactivated existAbstract, because sigfaults on SatTestCase, AD
!!!! here we add the lm !!!!
References polybori::groebner::addPolynomialToReductor(), polybori::BooleMonomial::begin(), polybori::BooleMonomial::diagram(), polybori::BoolePolynomial::diagram(), polybori::BooleSet::diff(), polybori::BooleSet::divisorsOf(), easyProductCriterions, polybori::CDDInterface< CuddLikeZDD >::emptiness(), polybori::BooleMonomial::end(), polybori::BooleSet::existAbstract(), exp2Index, polybori::BooleSet::expBegin(), polybori::BoolePolynomial::expBegin(), polybori::BooleSet::expEnd(), polybori::BoolePolynomial::expEnd(), extendedProductCriterions, generators, polybori::groebner::PairStatusSet::HAS_T_REP, polybori::BooleSet::intersect(), polybori::groebner::LiteralFactorization::is00Factorization(), polybori::groebner::LiteralFactorization::is11Factorization(), polybori::BoolePolynomial::isOne(), leadingTerms, leadingTerms00, leadingTerms11, polybori::groebner::PolyEntry::length, polybori::BoolePolynomial::length(), polybori::CDDInterface< CuddLikeZDD >::length(), polybori::groebner::PolyEntry::literal_factors, llReductor, polybori::groebner::PolyEntry::lm, lm2Index, polybori::groebner::PolyEntry::lmDeg, polybori::groebner::PolyEntry::lmExp, minimalLeadingTerms, polybori::groebner::mod_mon_set(), monomials, polybori::BooleSet::multiplesOf(), polybori::BoolePolynomial::navigation(), polybori::CDDInterface< CuddLikeZDD >::navigation(), optLL, optRedTail, polybori::groebner::PolyEntry::p, pairs, polybori::groebner::PairStatusSet::prolong(), propagate(), polybori::groebner::red_tail(), reducibleUntil, polybori::groebner::PairStatusSet::setToHasTRep(), polybori::groebner::PairStatusSet::setToUncalculated(), polybori::groebner::PairManager::status, polybori::BooleSet::subset0(), treatNormalPairs(), treatVariablePairs(), polybori::BooleSet::unite(), and polybori::BooleSet::uniteAssign().
Referenced by addAsYouWish(), addGeneratorTrySplit(), and polybori::groebner::full_implication_gb().
void polybori::groebner::GroebnerStrategy::addGeneratorDelayed |
( |
const BoolePolynomial & |
p | ) |
|
void polybori::groebner::GroebnerStrategy::addGeneratorTrySplit |
( |
const Polynomial & |
p, |
|
|
bool |
is_minimal |
|
) |
| |
References add4ImplDelayed(), addGenerator(), addGeneratorDelayed(), addHigherImplDelayedUsing4(), cache, polybori::BooleExponent::deg(), polybori::BooleSet::divisorsOf(), polybori::groebner::full_implication_gb(), polybori::BoolePolynomial::isZero(), polybori::BoolePolynomial::leadExp(), leadingTerms, log(), minimalLeadingTerms, optAllowRecursion, optRedTail, polybori::groebner::polynomial_in_one_block(), polybori::groebner::red_tail(), polybori::groebner::LiteralFactorization::rest, and polybori::BoolePolynomial::usedVariablesExp().
Referenced by addAsYouWish().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::addHigherImplDelayedUsing4 |
( |
int |
s, |
|
|
const LiteralFactorization & |
literal_factors, |
|
|
bool |
include_orig |
|
) |
| |
|
protected |
References addGeneratorDelayed(), polybori::BooleSet::divisorsOf(), polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::leadExp(), minimalLeadingTerms, polybori::groebner::LiteralFactorization::rest, polybori::BooleEnv::ring(), polybori::groebner::set_up_translation_vectors(), polybori::BooleExponent::size(), and polybori::BoolePolynomial::usedVariablesExp().
Referenced by addGeneratorTrySplit(), and treatVariablePairs().
void polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed |
( |
const PolyEntry & |
p | ) |
|
void polybori::groebner::GroebnerStrategy::addVariablePairs |
( |
int |
s | ) |
|
|
protected |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::allGenerators |
( |
| ) |
|
bool polybori::groebner::GroebnerStrategy::canRewrite |
( |
const Polynomial & |
p | ) |
const |
|
inline |
bool polybori::groebner::GroebnerStrategy::containsOne |
( |
| ) |
const |
|
inline |
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::faugereStepDense |
( |
const std::vector< Polynomial > & |
| ) |
|
void polybori::groebner::GroebnerStrategy::llReduceAll |
( |
| ) |
|
void polybori::groebner::GroebnerStrategy::log |
( |
const char * |
c | ) |
|
|
inline |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalize |
( |
| ) |
|
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalizeAndTailReduce |
( |
| ) |
|
Polynomial polybori::groebner::GroebnerStrategy::nextSpoly |
( |
| ) |
|
|
inline |
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::noroStep |
( |
const std::vector< Polynomial > & |
| ) |
|
void polybori::groebner::GroebnerStrategy::propagate |
( |
const PolyEntry & |
e | ) |
|
void polybori::groebner::GroebnerStrategy::propagate_step |
( |
const PolyEntry & |
e, |
|
|
std::set< int > |
others |
|
) |
| |
int polybori::groebner::GroebnerStrategy::suggestPluginVariable |
( |
| ) |
|
void polybori::groebner::GroebnerStrategy::symmGB_F2 |
( |
| ) |
|
void polybori::groebner::GroebnerStrategy::treat_m_p_1_case |
( |
const PolyEntry & |
e | ) |
|
References polybori::BooleSet::begin(), polybori::BooleSet::end(), exp2Index, polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), generators, polybori::BooleSet::intersect(), polybori::groebner::PairManager::introducePair(), leadingTerms, polybori::groebner::PolyEntry::lm, polybori::groebner::PolyEntry::lmExp, minimalLeadingTerms, pairs, polybori::BooleMonomial::reducibleBy(), and polybori::BooleMonomial::ring().
Referenced by addGenerator().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::treatVariablePairs |
( |
int |
s | ) |
|
|
protected |
References add4ImplDelayed(), addHigherImplDelayedUsing4(), addVariablePairs(), polybori::BooleExponent::deg(), polybori::groebner::LiteralFactorization::factors, generators, polybori::groebner::PolyEntry::literal_factors, polybori::groebner::PolyEntry::lmExp, polybori::BoolePolynomial::nUsedVariables(), polybori::groebner::PolyEntry::p, polybori::groebner::polynomial_in_one_block(), polybori::groebner::LiteralFactorization::rest, polybori::groebner::PolyEntry::usedVariables, and polybori::groebner::LiteralFactorization::var2var_map.
Referenced by addGenerator().
bool polybori::groebner::GroebnerStrategy::variableHasValue |
( |
idx_type |
i | ) |
|
Member Data Documentation
int polybori::groebner::GroebnerStrategy::averageLength |
boost::shared_ptr<CacheManager> polybori::groebner::GroebnerStrategy::cache |
int polybori::groebner::GroebnerStrategy::chainCriterions |
int polybori::groebner::GroebnerStrategy::currentDegree |
int polybori::groebner::GroebnerStrategy::easyProductCriterions |
bool polybori::groebner::GroebnerStrategy::enabledLog |
int polybori::groebner::GroebnerStrategy::extendedProductCriterions |
Referenced by addGenerator(), addVariablePairs(), allGenerators(), polybori::groebner::PairManager::cleanTopByChainCriterion(), minimalize(), minimalizeAndTailReduce(), polybori::groebner::nf1(), polybori::groebner::nf2(), polybori::groebner::nf2_short(), polybori::groebner::nf3(), polybori::groebner::nf3_db(), polybori::groebner::nf3_degree_order(), polybori::groebner::nf3_lexbuckets(), polybori::groebner::nf3_no_deg_growth(), polybori::groebner::nf3_short(), polybori::groebner::nf_delaying(), polybori::groebner::nf_delaying_exchanging(), polybori::groebner::LessWeightedLengthInStrat::operator()(), polybori::groebner::ChainVariableCriterion::operator()(), polybori::groebner::HasTRepOrExtendedProductCriterion::operator()(), polybori::groebner::IsEcart0Predicate::operator()(), polybori::groebner::parallel_reduce(), propagate_step(), polybori::groebner::select_no_deg_growth(), treatNormalPairs(), treatVariablePairs(), and variableHasValue().
MonomialSet polybori::groebner::GroebnerStrategy::leadingTerms |
MonomialSet polybori::groebner::GroebnerStrategy::leadingTerms00 |
MonomialSet polybori::groebner::GroebnerStrategy::leadingTerms11 |
MonomialSet polybori::groebner::GroebnerStrategy::llReductor |
MonomialSet polybori::groebner::GroebnerStrategy::minimalLeadingTerms |
MonomialSet polybori::groebner::GroebnerStrategy::monomials |
MonomialSet polybori::groebner::GroebnerStrategy::monomials_plus_one |
int polybori::groebner::GroebnerStrategy::normalForms |
bool polybori::groebner::GroebnerStrategy::optAllowRecursion |
bool polybori::groebner::GroebnerStrategy::optBrutalReductions |
bool polybori::groebner::GroebnerStrategy::optDelayNonMinimals |
bool polybori::groebner::GroebnerStrategy::optExchange |
bool polybori::groebner::GroebnerStrategy::optLazy |
bool polybori::groebner::GroebnerStrategy::optLinearAlgebraInLastBlock |
bool polybori::groebner::GroebnerStrategy::optLL |
bool polybori::groebner::GroebnerStrategy::optRedTail |
bool polybori::groebner::GroebnerStrategy::optRedTailDegGrowth |
bool polybori::groebner::GroebnerStrategy::optRedTailInLastBlock |
bool polybori::groebner::GroebnerStrategy::optStepBounded |
PairManager polybori::groebner::GroebnerStrategy::pairs |
Referenced by addGenerator(), addGeneratorDelayed(), addVariablePairs(), allGenerators(), polybori::groebner::PairManager::cleanTopByChainCriterion(), GroebnerStrategy(), polybori::groebner::ChainCriterion::operator()(), polybori::groebner::ChainVariableCriterion::operator()(), polybori::groebner::HasTRepOrExtendedProductCriterion::operator()(), symmGB_F2(), and treatNormalPairs().
bool polybori::groebner::GroebnerStrategy::reduceByTailReduced |
idx_type polybori::groebner::GroebnerStrategy::reducibleUntil |
unsigned int polybori::groebner::GroebnerStrategy::reductionSteps |
int polybori::groebner::GroebnerStrategy::variableChainCriterions |
The documentation for this class was generated from the following files: