Now we reduce a polynomial or ListOfPolynomials by a GB or by any ListofPolynomials2. First we convert ListOfPolynomials2 to rules subordinate to the monomial order which is currently in force in our session.
For example, let us continue the session above with
In[9]:= ListOfRules2 = PolyToRule[ourGB];
Out[9]= {x**x->a,b->a,y**x->a,a**x->a,x**a->a,y**a->a, a**a->a} |
To reduce ListOfPolynomials by ListOfRules2 use the command
Reduction[ ListofPolynomials, ListofRules2]
|
For example, to reduce the polynomial poly = a**x**y**x**x + x**a**x**y + x**x**y**y in our session type
In[10]:= Reduction[ { poly }, ListOfRules2 ]
|
The way the previously described command NCSimplifyAll works is
NCSimplifyAll[ ListofPolynomials, ListofPolynomials2] =
Reduction[ ListofPolynomials, PolyToRule[NCMakeGB[ListofPolynomials2,10]]] |