37 auto_ptr<BigIdeal> entireRing(
new BigIdeal(emptyNames));
38 entireRing->newLastTerm();
42 vector<Ideal*> ideals2;
49 auto_ptr<Ideal> intersection(
new Ideal(variableCount));
50 Term identity(variableCount);
51 intersection->insert(identity);
53 for (
size_t i = 0; i < ideals2.size(); ++i) {
54 ideals2[i]->minimize();
57 auto_ptr<Ideal> tmp(
new Ideal(variableCount));
58 ::intersect(tmp.get(), intersection.get(), ideals2[i]);
64 auto_ptr<BigIdeal> bigIdeal(
new BigIdeal(names));
65 bigIdeal->insert(*intersection, translator);
This is the super class of all facades.
size_t getVarCount() const
Returns the current number of variables.
Ideal(size_t varCount=0)
Initialize this object to the zero ideal in varCount variables.
Defines the variables of a polynomial ring and facilities IO involving them.
void endAction()
Prints to standard error the time since the last call to beginAction.
const VarNames & getNames() const
void beginAction(const char *message)
Prints message to standard error if printing is turned on, and records the time when the action start...
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
IntersectFacade(bool printActions)
auto_ptr< BigIdeal > intersect(const vector< BigIdeal * > &ideals, const VarNames &names)
Returns the intersection of ideals.
Term represents a product of variables which does not include a coefficient.