#include <ReductionStrategy.h>

Public Member Functions | |
| ReductionStrategy (const BoolePolyRing &ring) | |
| void | addGenerator (const PolyEntry &entry) |
| Adding next element. | |
| void | append (const PolyEntry &entry) |
| Polynomial | nf (const Polynomial &p) const |
| bool | canRewrite (const Polynomial &p) const |
| int | select1 (const Polynomial &p) const |
| int | select1 (const Monomial &m) const |
| int | select_short (const Polynomial &p) const |
| int | select_short (const Monomial &m) const |
| Polynomial | headNormalForm (const Polynomial &p) const |
| Polynomial | reducedNormalForm (const Polynomial &p) const |
| void | llReduceAll () |
| operator const PolyEntryVector & () const | |
Protected Member Functions | |
| void | llReduce (const PolyEntry &entry, const Exponent &ll_e) |
| int | select_short_by_terms (const MonomialSet &) const |
| void | unmarkNonMinimalLeadingTerms (MonomialSet removed) |
| void | setupSetsForElement (const PolyEntry &entry) |
| template<class Iterator, class CompareType> | |
| size_type | minimum (Iterator start, Iterator finish, const CompareType &comp) const |
| polybori::groebner::ReductionStrategy::ReductionStrategy | ( | const BoolePolyRing & | ring | ) | [inline] |
| void polybori::groebner::ReductionStrategy::addGenerator | ( | const PolyEntry & | entry | ) | [inline] |
| void polybori::groebner::ReductionStrategy::append | ( | const PolyEntry & | entry | ) | [inline, virtual] |
Adding next generator
Reimplemented from polybori::groebner::PolyEntryVector.
| Polynomial polybori::groebner::ReductionStrategy::nf | ( | const Polynomial & | p | ) | const [inline] |
Referenced by polybori::groebner::GroebnerStrategy::nf().
| bool polybori::groebner::ReductionStrategy::canRewrite | ( | const Polynomial & | p | ) | const [inline] |
References polybori::groebner::is_rewriteable().
Referenced by polybori::groebner::red_tail_generic().
| int polybori::groebner::ReductionStrategy::select1 | ( | const Polynomial & | p | ) | const |
References polybori::BooleSet::divisorsOf(), polybori::BooleSet::expBegin(), polybori::groebner::PolyEntryVector::index(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::BoolePolynomial::lead(), polybori::groebner::ReductionTerms::leadingTerms, polybori::BoolePolynomial::lexLead(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::nf3(), polybori::groebner::nf3_degree_order(), polybori::groebner::nf3_lexbuckets(), polybori::groebner::parallel_reduce(), and polybori::groebner::SlimgbReduction< variant >::reduce().
| int polybori::groebner::ReductionStrategy::select1 | ( | const Monomial & | m | ) | const |
| int polybori::groebner::ReductionStrategy::select_short | ( | const Polynomial & | p | ) | const [inline] |
References polybori::BoolePolynomial::leadDivisors().
Referenced by polybori::groebner::nf3_short().
| int polybori::groebner::ReductionStrategy::select_short | ( | const Monomial & | m | ) | const [inline] |
References polybori::BooleMonomial::divisors().
| Polynomial polybori::groebner::ReductionStrategy::headNormalForm | ( | const Polynomial & | p | ) | const |
| Polynomial polybori::groebner::ReductionStrategy::reducedNormalForm | ( | const Polynomial & | p | ) | const |
References headNormalForm(), and polybori::groebner::red_tail().
Referenced by polybori::groebner::GroebnerStrategy::noroStep().
| void polybori::groebner::ReductionStrategy::llReduceAll | ( | ) |
| polybori::groebner::ReductionStrategy::operator const PolyEntryVector & | ( | ) | const [inline] |
| void polybori::groebner::ReductionStrategy::llReduce | ( | const PolyEntry & | entry, | |
| const Exponent & | ll_e | |||
| ) | [protected] |
References polybori::BooleExponent::GCD(), polybori::groebner::PolyEntryBase::lead, polybori::groebner::ll_red_nf(), polybori::groebner::ReductionTerms::llReductor, polybori::groebner::PolyEntryBase::minimal, polybori::groebner::ReductionTerms::monomials, polybori::groebner::PolyEntryVector::operator()(), polybori::groebner::PolyEntryBase::tail, polybori::groebner::PolyEntryBase::tailVariables, and polybori::groebner::TermsFacade< NewType >::update().
Referenced by llReduceAll().
| int polybori::groebner::ReductionStrategy::select_short_by_terms | ( | const MonomialSet & | terms | ) | const [protected] |
References polybori::groebner::ReductionTerms::leadingTerms, and minimum().
| void polybori::groebner::ReductionStrategy::unmarkNonMinimalLeadingTerms | ( | MonomialSet | removed | ) | [inline, protected] |
References polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), and polybori::for_each().
Referenced by setupSetsForElement().
| void polybori::groebner::ReductionStrategy::setupSetsForElement | ( | const PolyEntry & | entry | ) | [protected] |
References polybori::groebner::PolyEntryVector::exchange(), polybori::BooleMonomial::exp(), polybori::groebner::PolyEntryBase::lead, polybori::groebner::PolyEntryBase::leadExp, polybori::groebner::ReductionTerms::leadingTerms, polybori::groebner::ReductionTerms::leadingTerms00, polybori::groebner::ReductionTerms::leadingTerms11, polybori::groebner::ReductionTerms::llReductor, polybori::groebner::ReductionTerms::minimalLeadingTerms, polybori::groebner::ReductionTerms::monomials, polybori::groebner::ReductionOptions::optLL, polybori::groebner::PolyEntryBase::p, PBORI_ASSERT, unmarkNonMinimalLeadingTerms(), polybori::groebner::LLReductor::update(), polybori::groebner::TermsFacade< NewType >::update(), and polybori::groebner::MinimalLeadingTerms::update().
| size_type polybori::groebner::ReductionStrategy::minimum | ( | Iterator | start, | |
| Iterator | finish, | |||
| const CompareType & | comp | |||
| ) | const [inline, protected] |
1.5.6