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
 GroebnerStrategy (const BoolePolyRing &input_ring)
 Construct from a ring.
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.
- 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.

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: