PolyBoRi
|
#include <groebner_alg.h>
Public Member Functions | |
bool | containsOne () const |
GroebnerStrategy (const GroebnerStrategy &orig) | |
std::vector< Polynomial > | minimalizeAndTailReduce () |
std::vector< Polynomial > | minimalize () |
int | addGenerator (const BoolePolynomial &p, bool is_impl=false, std::vector< int > *impl_v=NULL) |
void | addGeneratorDelayed (const BoolePolynomial &p) |
void | addAsYouWish (const Polynomial &p) |
void | addGeneratorTrySplit (const Polynomial &p, bool is_minimal) |
bool | variableHasValue (idx_type i) |
void | llReduceAll () |
void | treat_m_p_1_case (const PolyEntry &e) |
GroebnerStrategy () | |
Polynomial | nextSpoly () |
void | addNonTrivialImplicationsDelayed (const PolyEntry &p) |
void | propagate (const PolyEntry &e) |
void | propagate_step (const PolyEntry &e, std::set< int > others) |
void | log (const char *c) |
bool | canRewrite (const Polynomial &p) const |
Polynomial | redTail (const Polynomial &p) |
std::vector< Polynomial > | noroStep (const std::vector< Polynomial > &) |
std::vector< Polynomial > | faugereStepDense (const std::vector< Polynomial > &) |
Polynomial | nf (Polynomial p) const |
void | symmGB_F2 () |
int | suggestPluginVariable () |
std::vector< Polynomial > | allGenerators () |
Public Attributes | |
idx_type | reducibleUntil |
PairManager | pairs |
bool | reduceByTailReduced |
PolyEntryVector | generators |
MonomialSet | leadingTerms |
MonomialSet | minimalLeadingTerms |
MonomialSet | leadingTerms11 |
MonomialSet | leadingTerms00 |
MonomialSet | llReductor |
MonomialSet | monomials |
MonomialSet | monomials_plus_one |
boost::shared_ptr< CacheManager > | cache |
BoolePolyRing | r |
bool | enabledLog |
unsigned int | reductionSteps |
int | normalForms |
int | currentDegree |
int | chainCriterions |
int | variableChainCriterions |
int | easyProductCriterions |
int | extendedProductCriterions |
int | averageLength |
bool | optRedTail |
bool | optHFE |
bool | optLazy |
bool | optLL |
bool | optDelayNonMinimals |
bool | optBrutalReductions |
bool | optExchange |
bool | optAllowRecursion |
bool | optRedTailDegGrowth |
bool | optStepBounded |
bool | optLinearAlgebraInLastBlock |
bool | optRedTailInLastBlock |
lm2Index_map_type | lm2Index |
exp2Index_map_type | exp2Index |
Protected Member Functions | |
std::vector< Polynomial > | treatVariablePairs (int s) |
void | treatNormalPairs (int s, MonomialSet intersecting_terms, MonomialSet other_terms, MonomialSet ext_prod_terms) |
void | addVariablePairs (int s) |
std::vector< Polynomial > | add4ImplDelayed (const Polynomial &p, const Exponent &lm_exp, const Exponent &used_variables, int s, bool include_orig) |
std::vector< Polynomial > | addHigherImplDelayedUsing4 (int s, const LiteralFactorization &literal_factors, bool include_orig) |
polybori::groebner::GroebnerStrategy::GroebnerStrategy | ( | const GroebnerStrategy & | orig | ) |
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] |
Referenced by addGeneratorTrySplit(), and treatVariablePairs().
void polybori::groebner::GroebnerStrategy::addAsYouWish | ( | const Polynomial & | p | ) |
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 !!!!
Referenced by polybori::groebner::full_implication_gb().
void polybori::groebner::GroebnerStrategy::addGeneratorDelayed | ( | const BoolePolynomial & | p | ) |
void polybori::groebner::GroebnerStrategy::addGeneratorTrySplit | ( | const Polynomial & | p, |
bool | is_minimal | ||
) |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::addHigherImplDelayedUsing4 | ( | int | s, |
const LiteralFactorization & | literal_factors, | ||
bool | include_orig | ||
) | [protected] |
Referenced by addGeneratorTrySplit(), and treatVariablePairs().
void polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed | ( | const PolyEntry & | p | ) |
Referenced by propagate_step().
void polybori::groebner::GroebnerStrategy::addVariablePairs | ( | int | s | ) | [protected] |
References generators, polybori::groebner::PairManager::introducePair(), pairs, and PBORINAME::groebner::VARIABLE_PAIR.
Referenced by treatVariablePairs().
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::allGenerators | ( | ) |
References generators.
bool polybori::groebner::GroebnerStrategy::canRewrite | ( | const Polynomial & | p | ) | const [inline] |
References PBORINAME::groebner::is_rewriteable().
Referenced by polybori::groebner::red_tail_generic().
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::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 | ( | ) |
Referenced by polybori::groebner::full_implication_gb().
Polynomial polybori::groebner::GroebnerStrategy::nextSpoly | ( | ) | [inline] |
Polynomial polybori::groebner::GroebnerStrategy::nf | ( | Polynomial | p | ) | const |
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::noroStep | ( | const std::vector< Polynomial > & | ) |
void polybori::groebner::GroebnerStrategy::propagate | ( | const PolyEntry & | e | ) |
References propagate_step().
void polybori::groebner::GroebnerStrategy::propagate_step | ( | const PolyEntry & | e, |
std::set< int > | others | ||
) |
References addNonTrivialImplicationsDelayed(), generators, and monomials.
Referenced by propagate().
Polynomial polybori::groebner::GroebnerStrategy::redTail | ( | const Polynomial & | p | ) |
int polybori::groebner::GroebnerStrategy::suggestPluginVariable | ( | ) |
void polybori::groebner::GroebnerStrategy::symmGB_F2 | ( | ) |
References addAsYouWish(), and polybori::groebner::parallel_reduce().
Referenced by polybori::groebner::full_implication_gb().
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] |
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::treatVariablePairs | ( | int | s | ) | [protected] |
References add4ImplDelayed(), addHigherImplDelayedUsing4(), and addVariablePairs().
bool polybori::groebner::GroebnerStrategy::variableHasValue | ( | idx_type | i | ) |
boost::shared_ptr<CacheManager> polybori::groebner::GroebnerStrategy::cache |
Referenced by addGeneratorTrySplit(), and polybori::groebner::full_implication_gb().
Referenced by polybori::groebner::select1(), polybori::groebner::select_no_deg_growth(), and treatNormalPairs().
PolyEntryVector polybori::groebner::GroebnerStrategy::generators |
Referenced by addVariablePairs(), allGenerators(), 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::IsEcart0Predicate::operator()(), polybori::groebner::LessWeightedLengthInStrat::operator()(), polybori::groebner::parallel_reduce(), propagate_step(), polybori::groebner::select_no_deg_growth(), polybori::groebner::select_short(), and treatNormalPairs().
MonomialSet polybori::groebner::GroebnerStrategy::llReductor |
Referenced by polybori::groebner::red_tail_generic().
Referenced by polybori::groebner::red_tail_generic(), and treatNormalPairs().
MonomialSet polybori::groebner::GroebnerStrategy::monomials |
Referenced by propagate_step(), and polybori::groebner::red_tail_generic().
Referenced by addGeneratorTrySplit(), and polybori::groebner::full_implication_gb().
Referenced by polybori::groebner::parallel_reduce().
Referenced by polybori::groebner::parallel_reduce().
Referenced by polybori::groebner::parallel_reduce().
Referenced by polybori::groebner::red_tail_generic().
Referenced by polybori::groebner::LexHelper::irreducible_lead(), and polybori::groebner::LexHelper::nf().
Referenced by polybori::groebner::parallel_reduce().
Referenced by polybori::groebner::LexHelper::knowRestIsIrreducible().
unsigned int polybori::groebner::GroebnerStrategy::reductionSteps |