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