29
29
const char *helpText()
31
return "This program computes the union of a list of polynomial sets given as input. The polynomials must all belong to the same ring. The ring is specified an the input. After this follows the list of polynomial sets.\n";
31
return "This program computes the union of a list of polynomial sets given as input. The polynomials must all belong to the same ring. The ring is specified on the input. After this follows the list of polynomial sets.\n";
33
33
PolynomialSetUnionApplication():
34
34
optionSpecialMode("-s","Sort output by degree.\n")
40
40
return "_polynomialsetunion";
44
/* SymmetryGroup g(16);
45
// g.computeClosure(StringParser("(1,2,3,0,5,6,7,4,9,10,11,8,13,14,15,12)").parseIntegerVector());
46
// g.computeClosure(StringParser("(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)").parseIntegerVector());
47
g.computeClosure(StringParser("(1,0,2,3,5,4,6,7,9,8,10,11,13,12,14,15)").parseIntegerVector());
48
g.computeClosure(StringParser("(0,2,1,3,4,6,5,7,8,10,9,11,12,14,13,15)").parseIntegerVector());
49
g.computeClosure(StringParser("(0,1,3,2,4,5,7,6,8,9,11,10,12,13,15,14)").parseIntegerVector());
50
g.computeClosure(StringParser("(0,2,1,3,4,6,5,7,8,10,9,11,12,14,13,15)").parseIntegerVector());
52
g.computeClosure(StringParser("(4,5,6,7,0,1,2,3,8,9,10,11,12,13,14,15)").parseIntegerVector());
53
g.computeClosure(StringParser("(8,9,10,11,4,5,6,7,0,1,2,3,12,13,14,15)").parseIntegerVector());
54
g.computeClosure(StringParser("(12,13,14,15,4,5,6,7,8,9,10,11,0,1,2,3)").parseIntegerVector());
55
g.computeClosure(StringParser("(8,9,10,11,4,5,6,7,0,1,2,3,12,13,14,15)").parseIntegerVector());
60
44
FileParser P(Stdin);
61
45
PolynomialRing r=P.parsePolynomialRing();
62
46
int c=P.nextNonBlank();
64
48
assert(P.isLeftBracket(c));
65
49
PolynomialSet s=P.parsePolynomialSet(r);
66
51
while(','==c || first)
68
53
PolynomialSet temp=P.parsePolynomialSet(r);
74
59
assert(P.isRightBracket(c));
78
for(PolynomialSet::const_iterator i=s.begin();i!=s.end();i++)
80
S.unionPolynomial((*i));
81
// S.unionPolynomial(g.computeUniqueRepresentative(*i));
85
61
if(optionSpecialMode.getValue())s.sort(PolynomialCmp());
87
63
AsciiPrinter(Stdout).printPolynomialRing(r);
88
64
AsciiPrinter(Stdout).printNewLine();
89
65
AsciiPrinter(Stdout).printPolynomialSet(s);
92
for(PolynomialSet::const_iterator i=S.begin();i!=S.end();i++)
94
AsciiPrinter(Stdout).printPolynomial(*i);
96
for(SymmetryGroup::ElementContainer::const_iterator j=g.elements.begin();j!=g.elements.end();j++)
98
a.unionPolynomial(g.permutePolynomial(*i,*j));
99
total.unionPolynomial(g.permutePolynomial(*i,*j));
101
fprintf(Stdout,"\nelments in class: %i\n",a.size());
102
fprintf(Stdout,"Total so far: %i\n\n",total.size());