PolyBoRi
Public Member Functions | Protected Member Functions | List of all members
polybori::groebner::GroebnerStrategy Class Reference

This class defines GroebnerStrategy. More...

#include <GroebnerStrategy.h>

Inheritance diagram for polybori::groebner::GroebnerStrategy:
polybori::groebner::GroebnerOptions polybori::groebner::PairManagerFacade< GroebnerStrategy >

Public Member Functions

 GroebnerStrategy (const GroebnerStrategy &orig)
 copy constructor More...
 
 GroebnerStrategy (const BoolePolyRing &input_ring)
 Construct from a ring. More...
 
const BoolePolyRingring () const
 
bool containsOne () const
 
std::vector< PolynomialminimalizeAndTailReduce ()
 
std::vector< Polynomialminimalize ()
 
void addGenerator (const PolyEntry &entry)
 
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)
 
Polynomial nextSpoly ()
 
void addNonTrivialImplicationsDelayed (const PolyEntry &p)
 
void propagate (const PolyEntry &e)
 
void log (const char *c) const
 
Polynomial redTail (const Polynomial &p)
 
std::vector< PolynomialnoroStep (const std::vector< Polynomial > &)
 
std::vector< PolynomialfaugereStepDense (const std::vector< Polynomial > &)
 
Polynomial nf (Polynomial p) const
 
void symmGB_F2 ()
 
int suggestPluginVariable ()
 
std::vector< PolynomialallGenerators ()
 
bool checkSingletonCriterion (int i, int j) const
 
bool checkPairCriteria (const Exponent &lm, int i, int j)
 
bool checkChainCriterion (const Exponent &lm, int i, int j)
 
bool checkExtendedProductCriterion (int i, int j)
 
bool checkVariableSingletonCriterion (int idx) const
 
bool checkVariableLeadOfFactorCriterion (int idx, int var) const
 
bool checkVariableChainCriterion (int idx)
 
bool checkVariableCriteria (int idx, int var)
 
- Public Member Functions inherited from polybori::groebner::GroebnerOptions
 GroebnerOptions (bool redTailInLastBlock=false, bool lazy=false)
 Constructor with default settings. More...
 
- Public Member Functions inherited from polybori::groebner::PairManagerFacade< GroebnerStrategy >
 PairManagerFacade (const BoolePolyRing &ring)
 
 PairManagerFacade (const self &rhs)
 
void cleanTopByChainCriterion ()
 
void introducePair (const Pair &pair)
 

Public Attributes

public available parameters
ReductionStrategy generators
 
boost::shared_ptr< CacheManagercache
 
unsigned int reductionSteps
 
int normalForms
 
int currentDegree
 
int averageLength
 
int chainCriterions
 
int variableChainCriterions
 
int easyProductCriterions
 
int extendedProductCriterions
 
- Public Attributes inherited from polybori::groebner::GroebnerOptions
bool optRedTailInLastBlock
 
bool optLazy
 
std::string matrixPrefix
 
bool optDrawMatrices
 
bool optModifiedLinearAlgebra
 
bool optDelayNonMinimals
 
bool enabledLog
 
bool optExchange
 
bool optHFE
 
bool optStepBounded
 
bool optAllowRecursion
 
bool optLinearAlgebraInLastBlock
 
bool reduceByTailReduced
 
- Public Attributes inherited from polybori::groebner::PairManagerFacade< GroebnerStrategy >
PairManagerWithStrategy
< strategy_type
pairs
 For compatibility reasons make this a public member. More...
 

Protected Member Functions

std::vector< PolynomialtreatVariablePairs (PolyEntryReference)
 
void normalPairsWithLast (const MonomialSet &)
 
void addVariablePairs (PolyEntryReference)
 
std::vector< Polynomialadd4ImplDelayed (PolyEntryReference)
 
std::vector< Polynomialadd4ImplDelayed (const Polynomial &p, const Exponent &lm_exp, const Exponent &used_variables) const
 
std::vector< PolynomialaddHigherImplDelayedUsing4 (PolyEntryReference)
 
std::vector< PolynomialaddHigherImplDelayedUsing4 (const LiteralFactorization &) const
 

Detailed Description

This class defines GroebnerStrategy.

Constructor & Destructor Documentation

polybori::groebner::GroebnerStrategy::GroebnerStrategy ( const GroebnerStrategy orig)

copy constructor

polybori::groebner::GroebnerStrategy::GroebnerStrategy ( const BoolePolyRing input_ring)
inline

Construct from a ring.

Member Function Documentation

std::vector< Polynomial > polybori::groebner::GroebnerStrategy::add4ImplDelayed ( PolyEntryReference  entry)
protected
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::add4ImplDelayed ( const Polynomial p,
const Exponent lm_exp,
const Exponent used_variables 
) const
protected

References add4ImplDelayed().

void polybori::groebner::GroebnerStrategy::addAsYouWish ( const Polynomial p)
void polybori::groebner::GroebnerStrategy::addGenerator ( const PolyEntry entry)
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 ( PolyEntryReference  entry)
protected
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::addHigherImplDelayedUsing4 ( const LiteralFactorization literal_factors) const
protected
void polybori::groebner::GroebnerStrategy::addNonTrivialImplicationsDelayed ( const PolyEntry p)
void polybori::groebner::GroebnerStrategy::addVariablePairs ( PolyEntryReference  entryref)
protected
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::allGenerators ( )
bool polybori::groebner::GroebnerStrategy::checkChainCriterion ( const Exponent lm,
int  i,
int  j 
)
bool polybori::groebner::GroebnerStrategy::checkExtendedProductCriterion ( int  i,
int  j 
)
bool polybori::groebner::GroebnerStrategy::checkPairCriteria ( const Exponent lm,
int  i,
int  j 
)
inline
bool polybori::groebner::GroebnerStrategy::checkSingletonCriterion ( int  i,
int  j 
) const
inline
bool polybori::groebner::GroebnerStrategy::checkVariableChainCriterion ( int  idx)
inline
bool polybori::groebner::GroebnerStrategy::checkVariableCriteria ( int  idx,
int  var 
)
inline

References PBORI_UNLIKELY.

bool polybori::groebner::GroebnerStrategy::checkVariableLeadOfFactorCriterion ( int  idx,
int  var 
) const
inline
bool polybori::groebner::GroebnerStrategy::checkVariableSingletonCriterion ( int  idx) const
inline
bool polybori::groebner::GroebnerStrategy::containsOne ( ) const
inline
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::faugereStepDense ( const std::vector< Polynomial > &  )
void polybori::groebner::GroebnerStrategy::llReduceAll ( )
void polybori::groebner::GroebnerStrategy::log ( const char *  c) const
inline
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalize ( )
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::minimalizeAndTailReduce ( )
Polynomial polybori::groebner::GroebnerStrategy::nextSpoly ( )
inline
Polynomial polybori::groebner::GroebnerStrategy::nf ( Polynomial  p) const
void polybori::groebner::GroebnerStrategy::normalPairsWithLast ( const MonomialSet act_l_terms)
protected
std::vector<Polynomial> polybori::groebner::GroebnerStrategy::noroStep ( const std::vector< Polynomial > &  )
void polybori::groebner::GroebnerStrategy::propagate ( const PolyEntry e)
Polynomial polybori::groebner::GroebnerStrategy::redTail ( const Polynomial p)
const BoolePolyRing& polybori::groebner::GroebnerStrategy::ring ( ) const
inline
int polybori::groebner::GroebnerStrategy::suggestPluginVariable ( )
void polybori::groebner::GroebnerStrategy::symmGB_F2 ( )
void polybori::groebner::GroebnerStrategy::treat_m_p_1_case ( const PolyEntry e)
inline
std::vector< Polynomial > polybori::groebner::GroebnerStrategy::treatVariablePairs ( PolyEntryReference  entry)
protected
bool polybori::groebner::GroebnerStrategy::variableHasValue ( idx_type  i)

Member Data Documentation

int polybori::groebner::GroebnerStrategy::averageLength
boost::shared_ptr<CacheManager> polybori::groebner::GroebnerStrategy::cache
int polybori::groebner::GroebnerStrategy::chainCriterions

Referenced by checkChainCriterion().

int polybori::groebner::GroebnerStrategy::currentDegree
int polybori::groebner::GroebnerStrategy::easyProductCriterions
int polybori::groebner::GroebnerStrategy::extendedProductCriterions
ReductionStrategy polybori::groebner::GroebnerStrategy::generators
int polybori::groebner::GroebnerStrategy::normalForms
unsigned int polybori::groebner::GroebnerStrategy::reductionSteps
int polybori::groebner::GroebnerStrategy::variableChainCriterions

The documentation for this class was generated from the following files: