10 #ifndef PBORI_GB_ALG_H
11 #define PBORI_GB_ALG_H
29 #include <boost/dynamic_bitset.hpp>
41 #define LL_RED_FOR_GROEBNER 1
45 void groebner(GroebnerStrategy& strat);
55 const BoolePolyRing& ring);
95 Monomial multiply_by=bin_last/b_p_gcd;
98 return p-dividing_terms+rewritten*multiply_by;
Polynomial cancel_monomial_in_tail(const Polynomial &p, const Monomial &m)
Definition: groebner_alg.h:64
Polynomial reduce_complete(const Polynomial &p, const PolyEntry &reductor, wlen_type &len)
Definition: groebner_alg.cc:234
monom_type lead() const
Get leading term.
Definition: BoolePolynomial.cc:225
self GCD(const self &) const
Compute the greatest common divisor.
Definition: BooleMonomial.cc:169
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
self multiplesOf(const term_type &rhs) const
Compute intersection with multiples of rhs.
Definition: BooleSet.cc:171
MonomialSet mod_var_set(const MonomialSet &as, const MonomialSet &vs)
Definition: groebner_alg.cc:85
BoolePolynomial Polynomial
Definition: embed.h:51
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
This class wraps the underlying decicion diagram type and defines the necessary operations.
Definition: BoolePolynomial.h:85
Polynomial reduce_by_binom(const Polynomial &p, const Polynomial &binom)
Definition: groebner_alg.h:84
polybori::BooleSet MonomialSet
Definition: groebner_defs.h:45
void groebner(GroebnerStrategy &strat)
Polynomial map_every_x_to_x_plus_one(Polynomial p)
Definition: groebner_alg.cc:405
MonomialSet recursively_insert(MonomialSet::navigator p, idx_type idx, MonomialSet mset)
Definition: groebner_alg.cc:368
#define PBORI_ASSERT(arg)
Definition: pbori_defs.h:118
Polynomial reduce_by_monom(const Polynomial &p, const Monomial &m)
assumes that divisibility condition is fullfilled
Definition: groebner_alg.cc:147
long wlen_type
Definition: groebner_defs.h:39
Polynomial reduce_by_binom_in_tail(const Polynomial &p, const Polynomial &binom)
Definition: groebner_alg.h:104
Polynomial mult_fast_sim(const std::vector< Polynomial > &vec, const BoolePolyRing &ring)
Definition: groebner_alg.cc:417
size_type length() const
Returns number of terms.
Definition: BoolePolynomial.cc:414
bool_type isZero() const
Check whether polynomial is constant zero.
Definition: BoolePolynomial.h:294
polybori::CTypes::idx_type idx_type
Definition: groebner_defs.h:44
Definition: BooleSet.h:57
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
BooleMonomial Monomial
Definition: embed.h:53
std::vector< Polynomial > full_implication_gb(const Polynomial &p, CacheManager &cache, GroebnerStrategy &strat)
Definition: groebner_alg.cc:458
ordered_iterator orderedBegin() const
Start of ordering respecting iterator.
Definition: BoolePolynomial.cc:491