9.4 Reducing a polynomial by a GB

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 ]

9.4.1 Simplification via GB’s

The way the previously described command NCSimplifyAll works is

    NCSimplifyAll[ ListofPolynomials, ListofPolynomials2] =  
                 Reduction[ ListofPolynomials,  
                          PolyToRule[NCMakeGB[ListofPolynomials2,10]]]