17 #ifndef SAT_BINOM_IDEAL_GUARD
18 #define SAT_BINOM_IDEAL_GUARD
33 void insert(
const vector<mpz_class>& binom);
34 const vector<mpz_class>&
getGenerator(
size_t index)
const;
37 void print(FILE* file)
const;
38 void print(ostream& out)
const;
84 const vector<mpz_class>& b)
const;
89 const vector<mpz_class>& b,
90 const vector<mpz_class>& c)
const;
94 const vector<mpz_class>& b)
const;
113 bool isGenerator(
const vector<mpz_class>& v)
const;
vector< vector< mpz_class > > _gens
Represents a saturated binomial ideal.
void print(FILE *file) const
const vector< mpz_class > & getGenerator(size_t index) const
bool initialIdealIsWeaklyGeneric() const
Returns true if the initial ideal is weakly generic.
void removeGeneratorsWithoutLeadingZero()
Defines the variables of a polynomial ring and facilities IO involving them.
void projectVar(size_t var)
bool isTerminatingEdge(size_t from, size_t to) const
Returns wehther {from,to+from} is an interior edge of Top and also {to,to+from} is an edge of Top (no...
bool isInteriorEdge(size_t from, size_t to) const
Returns whether {to,to+from} is an interior edge of Top.
bool isInterior(const vector< mpz_class > &a, const vector< mpz_class > &b) const
Returns true if max(0,a,b) is strictly positive in every element.
bool hasZeroEntry() const
Returns true if any generator does not involve every variable, i.e.
bool isGeneric() const
Returns true if the generating set is generic, i.e.
bool validate() const
Temporary.
bool isPointFreeBody(const vector< mpz_class > &a, const vector< mpz_class > &b) const
Returns true if the smallest body containing zero, a and b has no generator in its interior...
void renameVars(const VarNames &names)
Requires that names.getVarCount() equals getVarCount().
bool isDominating(const vector< mpz_class > &v) const
Returns true if any generator, considered as an integer vector, is dominated by v.
void reserve(size_t size)
const VarNames & getNames() const
size_t getVarCount() const
void clearAndSetNames(const VarNames &names)
void getDoubleTriangleCount(mpz_class &count) const
Returns the number of pairs of generators a and b such that {0,a,a+b} and {0,b,a+b} are both interior...
SatBinomIdeal & operator=(const SatBinomIdeal &ideal)
ostream & operator<<(ostream &out, const SatBinomIdeal &ideal)
void getInitialIdeal(BigIdeal &ideal) const
void getMatrix(Matrix &matrix) const
void removeGeneratorsWithLeadingZero()
void insert(const vector< mpz_class > &binom)
bool isGenerator(const vector< mpz_class > &v) const
Returns true if v is a generator.
vector< mpz_class > & getLastBinomRef()
size_t getGeneratorCount() const