32 "Intersect the input ideals.",
33 "Computes the intersection of the input ideals. Simply concatenate "
35 "representations of the ideals in order to intersect them.\n\n"
36 "Note that this operation is currently implemented in a rather slow way.",
43 "Sort the generators and variables to get a canonical output.",
48 _io.obtainParameters(parameters);
55 _io.autoDetectInputFormat(in);
56 _io.validateFormats();
58 vector<BigIdeal*> ideals;
67 unique_ptr<BigIdeal> intersection(facade.
intersect(ideals, names));
76 unique_ptr<IOHandler> output =
_io.createOutputHandler();
77 ioFacade.
writeIdeal(*intersection, output.get(), stdout);
81 return "intersection";
BoolParameter _printActions
Action(const char *name, const char *shortDescription, const char *description, bool acceptsNonParameter)
virtual void obtainParameters(vector< Parameter * > ¶meters)
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
A facade for input and output of mathematical objects.
void writeIdeal(const BigIdeal &ideal, IOHandler *handler, FILE *out)
void readIdeals(Scanner &in, vector< BigIdeal * > &ideals, VarNames &names)
Insert the ideals that are read into the parameter ideals.
A facade for performing operations on BigIdeal.
void sortGenerators(BigIdeal &ideal)
Sorts the generators of ideal.
void sortVariables(BigIdeal &ideal)
Sorts the variables of ideal.
A facade for intersecting monomial ideals.
unique_ptr< BigIdeal > intersect(const vector< BigIdeal * > &ideals, const VarNames &names)
Returns the intersection of ideals.
virtual void obtainParameters(vector< Parameter * > ¶meters)
static const char * staticGetName()
This class offers an input interface which is more convenient and for some purposes more efficient th...
void expectEOF()
Require that there is no more input.
Defines the variables of a polynomial ring and facilities IO involving them.
This header file includes common definitions and is included as the first line of code in every imple...