12 #include "../DivisionLookupResult.h"
16 #include <unordered_set>
22 template<
class Polynomial>
carl is the main namespace for the library.
DivisionLookupResult< Polynomial > getDivisor(const Term< typename Polynomial::CoeffType > &t) const
const std::vector< Polynomial > & mGenerators
A reference to the generators in the ideal.
virtual ~IdealDatastructureVector()=default
IdealDatastructureVector(const std::vector< Polynomial > &generators, const std::unordered_set< size_t > &eliminated, const sortByLeadingTerm< Polynomial > &order)
const sortByLeadingTerm< Polynomial > & mOrder
A object which orders the generators according their leading terms, given their indices.
IdealDatastructureVector(const IdealDatastructureVector &id)
void addGenerator(size_t fIndex) const
Should be called whenever an generator is added.
void reset()
Should be called if the generator set is reset.
const std::unordered_set< size_t > & mEliminated
A reference to the indices of eliminated generators.
std::vector< size_t > mDivList
Sorts generators of an ideal by their leading terms.
Term divide(const Coefficient &c) const
void negate()
Negates the term by negating the coefficient.