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;
bool hasZeroEntry() const
Returns true if any generator does not involve every variable, i.e.
vector< vector< mpz_class > > _gens
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...
Represents a saturated binomial ideal.
void getMatrix(Matrix &matrix) const
void removeGeneratorsWithoutLeadingZero()
Defines the variables of a polynomial ring and facilities IO involving them.
bool isGenerator(const vector< mpz_class > &v) const
Returns true if v is a generator.
bool validate() const
Temporary.
const vector< mpz_class > & getGenerator(size_t index) const
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...
void projectVar(size_t var)
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 initialIdealIsWeaklyGeneric() const
Returns true if the initial ideal is weakly generic.
bool isDominating(const vector< mpz_class > &v) const
Returns true if any generator, considered as an integer vector, is dominated by v.
void renameVars(const VarNames &names)
Requires that names.getVarCount() equals getVarCount().
void getInitialIdeal(BigIdeal &ideal) const
void reserve(size_t size)
size_t getVarCount() const
void clearAndSetNames(const VarNames &names)
SatBinomIdeal & operator=(const SatBinomIdeal &ideal)
ostream & operator<<(ostream &out, const SatBinomIdeal &ideal)
bool isGeneric() const
Returns true if the generating set is generic, i.e.
const VarNames & getNames() const
size_t getGeneratorCount() const
void removeGeneratorsWithLeadingZero()
void insert(const vector< mpz_class > &binom)
void print(FILE *file) const
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...
vector< mpz_class > & getLastBinomRef()
bool isInteriorEdge(size_t from, size_t to) const
Returns whether {to,to+from} is an interior edge of Top.