PolyEntryBase.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_PolyEntryBase_h_
#define polybori_groebner_PolyEntryBase_h_
// include basic definitions
#include "groebner_defs.h"
BEGIN_NAMESPACE_PBORIGB
class PolyEntryBase {
public:
PolyEntryBase(const Polynomial &poly):
literal_factors(poly),
p(poly), lead(poly.ring()), weightedLength(),
length(poly.length()), deg(poly.deg()),
// empty/zero default values to be filled below (TODO: use inheritance here)
leadDeg(), leadExp(), gcdOfTerms(poly.ring()),
usedVariables(poly.usedVariablesExp()),
tailVariables(), tail(poly.ring()), minimal(true), vPairCalculated() {
lead = p.boundedLead(deg);
leadExp = lead.exp();
leadDeg = leadExp.deg();
if (leadDeg == deg)
weightedLength = length;
else
weightedLength = poly.eliminationLengthWithDegBound(deg);
tail = poly-lead;
tailVariables = tail.usedVariablesExp();
}
LiteralFactorization literal_factors;
Polynomial p;
Monomial lead;
wlen_type weightedLength;
len_type length;
deg_type deg;
deg_type leadDeg;
Exponent leadExp;
Monomial gcdOfTerms;
Exponent usedVariables;
Exponent tailVariables;
Polynomial tail;
bool minimal;
std::set<idx_type> vPairCalculated;
};
END_NAMESPACE_PBORIGB
#endif /* polybori_groebner_PolyEntryBase_h_ */
polybori::groebner::PolyEntryBase::vPairCalculated
std::set< idx_type > vPairCalculated
set of variables with which pair was calculated
Definition: PolyEntryBase.h:67
polybori::groebner::PolyEntryBase::usedVariables
Exponent usedVariables
Definition: PolyEntryBase.h:62
polybori::BooleExponent
This class is just a wrapper for using variables for storing indices as interim data structure for Bo...
Definition: BooleExponent.h:34
polybori::groebner::PolyEntryBase::leadDeg
deg_type leadDeg
Definition: PolyEntryBase.h:59
polybori::groebner::PolyEntryBase::p
Polynomial p
Definition: PolyEntryBase.h:54
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
polybori::groebner::PolyEntryBase::PolyEntryBase
PolyEntryBase(const Polynomial &poly)
Definition: PolyEntryBase.h:31
polybori::groebner::LiteralFactorization
Definition: LiteralFactorization.h:24
polybori::groebner::deg_type
int deg_type
Definition: groebner_defs.h:42
polybori::groebner::len_type
long len_type
Definition: groebner_defs.h:41
polybori::groebner::PolyEntryBase::tailVariables
Exponent tailVariables
Definition: PolyEntryBase.h:63
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::groebner::PolyEntryBase::deg
deg_type deg
Definition: PolyEntryBase.h:58
polybori::BoolePolynomial
This class wraps the underlying decicion diagram type and defines the necessary operations.
Definition: BoolePolynomial.h:85
polybori::groebner::PolyEntryBase::weightedLength
wlen_type weightedLength
Definition: PolyEntryBase.h:56
polybori::groebner::PolyEntryBase
This class defines the base of PolyEntry.
Definition: PolyEntryBase.h:29
groebner_defs.h
polybori::groebner::PolyEntryBase::gcdOfTerms
Monomial gcdOfTerms
Definition: PolyEntryBase.h:61
polybori::groebner::PolyEntryBase::minimal
bool minimal
Definition: PolyEntryBase.h:65
polybori::groebner::PolyEntryBase::literal_factors
LiteralFactorization literal_factors
Definition: PolyEntryBase.h:53
polybori::groebner::PolyEntryBase::leadExp
Exponent leadExp
Definition: PolyEntryBase.h:60
polybori::groebner::wlen_type
long wlen_type
Definition: groebner_defs.h:39
polybori::BoolePolynomial::eliminationLengthWithDegBound
size_type eliminationLengthWithDegBound(deg_type garantied_deg_bound) const
Definition: BoolePolynomial.cc:818
polybori::groebner::PolyEntryBase::tail
Polynomial tail
Definition: PolyEntryBase.h:64
polybori::groebner::PolyEntryBase::length
len_type length
Definition: PolyEntryBase.h:57
polybori::groebner::PolyEntryBase::lead
Monomial lead
Definition: PolyEntryBase.h:55
polybori::BooleMonomial
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
polybori::BoolePolynomial::usedVariablesExp
exp_type usedVariablesExp() const
Exponent vector of all of variables of the polynomial.
Definition: BoolePolynomial.cc:404