PolyBoRi
|
#include <groebner_alg.h>
polybori::groebner::GroebnerStrategy::GroebnerStrategy | ( | const GroebnerStrategy & | orig | ) |
References optDrawMatrices, optModifiedLinearAlgebra, optRedTailInLastBlock, optLinearAlgebraInLastBlock, optDelayNonMinimals, cache, optStepBounded, optAllowRecursion, optHFE, optLazy, optExchange, reductionSteps, normalForms, currentDegree, chainCriterions, variableChainCriterions, easyProductCriterions, extendedProductCriterions, averageLength, enabledLog, reduceByTailReduced, pairs, and polybori::groebner::PairManager::strat.
polybori::groebner::GroebnerStrategy::GroebnerStrategy | ( | ) | [inline] |
References polybori::BoolePolynomial::diagram().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::add4ImplDelayed | ( | const Polynomial & | p, |
const Exponent & | lm_exp, | ||
const Exponent & | used_variables, | ||
int | s, | ||
bool | include_orig | ||
) | [protected] |
References polybori::BooleEnv::ring(), polybori::groebner::set_up_translation_vectors(), polybori::BoolePolynomial::leadExp(), generators, polybori::groebner::ReductionStrategy::minimalLeadingTerms, polybori::BooleSet::divisorsOf(), and addGeneratorDelayed().
Referenced by treatVariablePairs(), and addGeneratorTrySplit().
void polybori::groebner::GroebnerStrategy::addAsYouWish | ( | const Polynomial & | p | ) |
References polybori::BoolePolynomial::leadExp(), generators, polybori::groebner::ReductionStrategy::leadingTerms, polybori::BooleSet::divisorsOf(), polybori::CCuddDDFacade::isZero(), addGenerator(), addGeneratorDelayed(), optDelayNonMinimals, polybori::BooleSet::owns(), polybori::BoolePolynomial::ring(), polybori::BoolePolynomial::eliminationLength(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::BooleExponent::deg(), polybori::groebner::ReductionStrategy::optRedTail, polybori::groebner::red_tail(), optRedTailInLastBlock, polybori::groebner::red_tail_in_last_block(), and addGeneratorTrySplit().
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::PolyEntry::lead, polybori::BoolePolynomial::navigation(), generators, polybori::groebner::ReductionStrategy::reducibleUntil, propagate(), polybori::BooleMonomial::begin(), polybori::BooleMonomial::end(), polybori::groebner::ReductionStrategy::leadingTerms, polybori::groebner::PolyEntry::literal_factors, polybori::groebner::LiteralFactorization::is00Factorization(), polybori::groebner::LiteralFactorization::is11Factorization(), polybori::groebner::ReductionStrategy::leadingTerms00, polybori::groebner::ReductionStrategy::leadingTerms11, polybori::CCuddDDFacade::isZero(), polybori::BooleSet::existAbstract(), polybori::BoolePolynomial::isOne(), polybori::groebner::mod_mon_set(), polybori::groebner::ReductionStrategy::minimalLeadingTerms, easyProductCriterions, polybori::BooleSet::length(), pairs, polybori::groebner::PairManager::status, polybori::groebner::PairStatusSet::prolong(), polybori::groebner::PairStatusSet::HAS_T_REP, polybori::BoolePolynomial::expBegin(), polybori::BoolePolynomial::expEnd(), polybori::groebner::ReductionStrategy::exp2Index, polybori::groebner::PairStatusSet::setToUncalculated(), extendedProductCriterions, polybori::groebner::PairStatusSet::setToHasTRep(), treatNormalPairs(), polybori::groebner::ReductionStrategy::setupSetsForLastElement(), treatVariablePairs(), polybori::groebner::ReductionStrategy::optRedTail, and polybori::groebner::red_tail().
Referenced by addGeneratorTrySplit(), addAsYouWish(), 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 polybori::groebner::polynomial_in_one_block(), polybori::BoolePolynomial::usedVariablesExp(), add4ImplDelayed(), polybori::BoolePolynomial::leadExp(), optAllowRecursion, polybori::groebner::LiteralFactorization::rest, addHigherImplDelayedUsing4(), log(), polybori::groebner::full_implication_gb(), cache, addGenerator(), generators, polybori::groebner::ReductionStrategy::minimalLeadingTerms, polybori::BooleSet::divisorsOf(), polybori::groebner::ReductionStrategy::optRedTail, polybori::groebner::red_tail(), polybori::BoolePolynomial::isZero(), addGeneratorDelayed(), and polybori::groebner::ReductionStrategy::leadingTerms.
Referenced by addAsYouWish().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::addHigherImplDelayedUsing4 | ( | int | s, |
const LiteralFactorization & | literal_factors, | ||
bool | include_orig | ||
) | [protected] |
References polybori::groebner::LiteralFactorization::rest, polybori::BoolePolynomial::isOne(), polybori::BoolePolynomial::usedVariablesExp(), polybori::BoolePolynomial::leadExp(), polybori::BooleExponent::size(), polybori::BooleEnv::ring(), polybori::groebner::set_up_translation_vectors(), generators, polybori::groebner::ReductionStrategy::minimalLeadingTerms, polybori::BooleSet::divisorsOf(), and addGeneratorDelayed().
Referenced by treatVariablePairs(), and addGeneratorTrySplit().
void polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed | ( | const PolyEntry & | p | ) |
References polybori::groebner::PolyEntry::p, polybori::BoolePolynomial::ring(), polybori::groebner::LiteralFactorization::trivial(), polybori::groebner::PolyEntry::literal_factors, polybori::groebner::LiteralFactorization::rest, polybori::BoolePolynomial::isOne(), polybori::groebner::LiteralFactorization::factors, polybori::groebner::LiteralFactorization::var2var_map, log(), and addGeneratorDelayed().
Referenced by propagate_step().
void polybori::groebner::GroebnerStrategy::addVariablePairs | ( | int | s | ) | [protected] |
References generators, pairs, polybori::groebner::PairManager::introducePair(), and polybori::groebner::VARIABLE_PAIR.
Referenced by treatVariablePairs().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::allGenerators | ( | ) |
References generators, pairs, and polybori::groebner::PairManager::appendHiddenGenerators().
bool polybori::groebner::GroebnerStrategy::containsOne | ( | ) | const [inline] |
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::faugereStepDense | ( | const std::vector< Polynomial > & | ) |
Referenced by polybori::groebner::parallel_reduce().
void polybori::groebner::GroebnerStrategy::llReduceAll | ( | ) |
References polybori::BooleExponent::GCD(), and polybori::groebner::ll_red_nf().
void polybori::groebner::GroebnerStrategy::log | ( | const char * | c | ) | [inline] |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalize | ( | ) |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalizeAndTailReduce | ( | ) |
References polybori::groebner::minimal_elements(), generators, polybori::groebner::ReductionStrategy::minimalLeadingTerms, polybori::groebner::ReductionStrategy::optRedTailDegGrowth, polybori::BooleSet::length(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::groebner::ReductionStrategy::exp2Index, and polybori::groebner::red_tail().
Referenced by polybori::groebner::full_implication_gb().
Polynomial polybori::groebner::GroebnerStrategy::nextSpoly | ( | ) | [inline] |
Polynomial polybori::groebner::GroebnerStrategy::nf | ( | Polynomial | p | ) | const |
Referenced by polybori::groebner::red_tail_in_last_block().
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::noroStep | ( | const std::vector< Polynomial > & | ) |
void polybori::groebner::GroebnerStrategy::propagate | ( | const PolyEntry & | e | ) |
References polybori::groebner::should_propagate(), and propagate_step().
Referenced by addGenerator().
void polybori::groebner::GroebnerStrategy::propagate_step | ( | const PolyEntry & | e, |
std::set< int > | others | ||
) |
References polybori::groebner::should_propagate(), polybori::groebner::PolyEntry::lead, polybori::groebner::PolyEntry::leadExp, generators, polybori::groebner::PolyEntry::length, polybori::groebner::PolyEntry::p, polybori::groebner::ReductionStrategy::monomials, polybori::BoolePolynomial::diagram(), and addNonTrivialImplicationsDelayed().
Referenced by propagate().
Polynomial polybori::groebner::GroebnerStrategy::redTail | ( | const Polynomial & | p | ) |
References polybori::groebner::red_tail().
int polybori::groebner::GroebnerStrategy::suggestPluginVariable | ( | ) |
void polybori::groebner::GroebnerStrategy::symmGB_F2 | ( | ) |
void polybori::groebner::GroebnerStrategy::treat_m_p_1_case | ( | const PolyEntry & | e | ) |
void polybori::groebner::GroebnerStrategy::treatNormalPairs | ( | int | s, |
MonomialSet | intersecting_terms, | ||
MonomialSet | other_terms, | ||
MonomialSet | ext_prod_terms | ||
) | [protected] |
References generators, polybori::groebner::PolyEntry::lead, polybori::groebner::ReductionStrategy::minimalLeadingTerms, polybori::BooleMonomial::reducibleBy(), polybori::groebner::PolyEntry::leadExp, polybori::groebner::ReductionStrategy::leadingTerms, polybori::BooleMonomial::ring(), polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), polybori::BooleSet::begin(), polybori::BooleSet::end(), polybori::groebner::ReductionStrategy::exp2Index, pairs, and polybori::groebner::PairManager::introducePair().
Referenced by addGenerator().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::treatVariablePairs | ( | int | s | ) | [protected] |
References generators, polybori::groebner::polynomial_in_one_block(), polybori::groebner::PolyEntry::usedVariables, polybori::BooleExponent::deg(), add4ImplDelayed(), polybori::groebner::PolyEntry::p, polybori::groebner::PolyEntry::leadExp, polybori::groebner::PolyEntry::literal_factors, polybori::groebner::LiteralFactorization::factors, polybori::groebner::LiteralFactorization::var2var_map, polybori::groebner::LiteralFactorization::rest, polybori::BoolePolynomial::nUsedVariables(), addHigherImplDelayedUsing4(), and addVariablePairs().
Referenced by addGenerator().
bool polybori::groebner::GroebnerStrategy::variableHasValue | ( | idx_type | i | ) |
References generators.
Referenced by GroebnerStrategy().
boost::shared_ptr<CacheManager> polybori::groebner::GroebnerStrategy::cache |
Referenced by GroebnerStrategy(), addGeneratorTrySplit(), and polybori::groebner::full_implication_gb().
Referenced by GroebnerStrategy(), and polybori::groebner::PairManager::cleanTopByChainCriterion().
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), and addGenerator().
Referenced by GroebnerStrategy().
Referenced by polybori::groebner::ChainCriterion::operator()(), polybori::groebner::ChainVariableCriterion::operator()(), polybori::groebner::PairManager::cleanTopByChainCriterion(), polybori::groebner::HasTRepOrExtendedProductCriterion::operator()(), propagate_step(), addHigherImplDelayedUsing4(), add4ImplDelayed(), addVariablePairs(), treatVariablePairs(), treatNormalPairs(), allGenerators(), addGenerator(), variableHasValue(), minimalizeAndTailReduce(), minimalize(), addGeneratorTrySplit(), polybori::groebner::red_tail_in_last_block(), addAsYouWish(), suggestPluginVariable(), polybori::groebner::nf3_lexbuckets(), and polybori::groebner::parallel_reduce().
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), addGeneratorTrySplit(), and polybori::groebner::full_implication_gb().
Referenced by GroebnerStrategy(), and addAsYouWish().
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), and polybori::groebner::parallel_reduce().
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), and polybori::groebner::parallel_reduce().
Referenced by GroebnerStrategy(), and polybori::groebner::parallel_reduce().
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), and addAsYouWish().
Referenced by GroebnerStrategy(), and polybori::groebner::parallel_reduce().
Referenced by GroebnerStrategy(), polybori::groebner::ChainCriterion::operator()(), polybori::groebner::ChainVariableCriterion::operator()(), polybori::groebner::PairManager::cleanTopByChainCriterion(), polybori::groebner::HasTRepOrExtendedProductCriterion::operator()(), addVariablePairs(), treatNormalPairs(), allGenerators(), addGenerator(), addGeneratorDelayed(), and symmGB_F2().
Referenced by GroebnerStrategy().
unsigned int polybori::groebner::GroebnerStrategy::reductionSteps |
Referenced by GroebnerStrategy().
Referenced by GroebnerStrategy(), and polybori::groebner::PairManager::cleanTopByChainCriterion().