|
PolyBoRi
|
This class defines ReductionStrategy. More...
#include <ReductionStrategy.h>
Public Member Functions | |
| ReductionStrategy (const BoolePolyRing &ring) | |
| void | addGenerator (const PolyEntry &entry) |
| Adding next element. More... | |
| 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 | |
Public Member Functions inherited from polybori::groebner::PolyEntryVector | |
| reference | first () |
Alternative to front which allows partial (but consistent) access. More... | |
| const_reference | first () const |
Constant variant, equivalent to front, for completeness reasons. More... | |
| reference | last () |
Alternative to back() which allows partial (but consistent) access. More... | |
| const_reference | last () const |
Constant variant, equivalent to back, for completeness reasons. More... | |
| PolyEntryVector () | |
| Default constructor. More... | |
| template<class KeyType > | |
| const_reference | operator() (const KeyType &key) const |
| Read-only access to element by index, leading term or monomial. More... | |
| template<class KeyType > | |
| reference | operator() (const KeyType &rhs) |
| (Partially) write access to element by index, leading term or monomial More... | |
| template<class KeyType , class Type > | |
| void | exchange (const KeyType &key, const Type &rhs) |
Exchange element given by key. More... | |
| template<class KeyType > | |
| size_type | index (const KeyType &key) const |
Retrieve index associated to key. More... | |
| template<class KeyType > | |
| size_type | checked_index (const KeyType &key) const |
Retrieve index associated to key if key exists, -1 otherwise. More... | |
| template<class KeyType > | |
| const Polynomial & | polynomial (const KeyType &key) const |
Retrieve polynomial associated to key. More... | |
| bool | empty () const |
| size_type | size () const |
| const_iterator | begin () const |
| const_iterator | end () const |
| const_reference | front () const |
| const_reference | back () const |
| template<class KeyType > | |
| const_reference | operator[] (const KeyType &rhs) const |
| Read-only access to element by index, leading term or monomial. More... | |
Public Member Functions inherited from polybori::groebner::ReductionOptions | |
| ReductionOptions () | |
Public Member Functions inherited from polybori::groebner::ReductionTerms | |
| ReductionTerms (const BoolePolyRing &ring) | |
| Initialize term data for given ring. More... | |
| RelatedTerms | related (const PolyEntry &entry) 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 |
Additional Inherited Members | |
Public Types inherited from polybori::groebner::PolyEntryVector | |
| typedef data_type::value_type | value_type |
| Vector-style interface. More... | |
| typedef data_type::size_type | size_type |
| typedef data_type::const_iterator | const_iterator |
| typedef data_type::const_reference | const_reference |
| typedef PolyEntryReference | reference |
Public Attributes inherited from polybori::groebner::ReductionOptions | |
| bool | optBrutalReductions |
| bool | optLL |
| bool | optRedTailDegGrowth |
| bool | optRedTail |
| idx_type | reducibleUntil |
Public Attributes inherited from polybori::groebner::ReductionTerms | |
| LeadingTerms | leadingTerms |
| MinimalLeadingTerms | minimalLeadingTerms |
| LeadingTerms11 | leadingTerms11 |
| LeadingTerms00 | leadingTerms00 |
| LLReductor | llReductor |
| MonomialTerms | monomials |
| MonomialPlusOneTerms | monomials_plus_one |
This class defines ReductionStrategy.
|
inline |
|
inline |
Adding next element.
Referenced by polybori::groebner::FGLMStrategy::FGLMStrategy().
|
inlinevirtual |
Adding next generator
Reimplemented from polybori::groebner::PolyEntryVector.
|
inline |
References polybori::groebner::is_rewriteable().
Referenced by polybori::groebner::red_tail_generic().
| Polynomial polybori::groebner::ReductionStrategy::headNormalForm | ( | const Polynomial & | p | ) | const |
| void polybori::groebner::ReductionStrategy::llReduceAll | ( | ) |
Referenced by polybori::groebner::GroebnerStrategy::llReduceAll().
|
inlineprotected |
References PBORI_UNLIKELY.
|
inline |
Referenced by polybori::groebner::GroebnerStrategy::nf().
|
inline |
| Polynomial polybori::groebner::ReductionStrategy::reducedNormalForm | ( | const Polynomial & | p | ) | const |
References polybori::groebner::red_tail().
| int polybori::groebner::ReductionStrategy::select1 | ( | const Polynomial & | p | ) | const |
References polybori::BooleSet::divisorsOf(), polybori::BooleSet::expBegin(), polybori::COrderingBase::isLexicographical(), polybori::CCuddDDFacade< RingType, DiagramType >::isZero(), polybori::BoolePolynomial::lead(), polybori::BoolePolynomial::lexLead(), polybori::BoolePolyRing::ordering(), and polybori::BoolePolynomial::ring().
Referenced by polybori::groebner::nf3(), polybori::groebner::nf3_degree_order(), polybori::groebner::nf3_lexbuckets(), and polybori::groebner::parallel_reduce().
| int polybori::groebner::ReductionStrategy::select1 | ( | const Monomial & | m | ) | const |
|
inline |
References polybori::BoolePolynomial::leadDivisors().
Referenced by polybori::groebner::nf3_short().
|
inline |
References polybori::BooleMonomial::divisors().
|
protected |
|
protected |
References polybori::BooleMonomial::exp(), polybori::groebner::PolyEntryBase::lead, polybori::groebner::PolyEntryBase::leadExp, polybori::groebner::PolyEntryBase::p, and PBORI_ASSERT.
|
inlineprotected |
References polybori::BooleSet::expBegin(), polybori::BooleSet::expEnd(), and polybori::for_each().
1.8.9.1