Chapter 12
To Run NCGB - Template.nb

12.1 Making a Groebner basis and NCProcess template

In[1]:= << NCGB‘  
> You have already loaded NCGB.m  
In[2]:= SetNonCommutative[a,b,c,d,w,x,y,z,Inv[a]];  
In[3]:= inputPolys = {-1+a**w+x**d, a**c+x**z,b**d+y**w,-1+b**z+y**c,  
        -1+c**y+w**a,c**b+w**x, d**a+z**y,  
        -1+d**x+z**b-1+a**Inv[a]**b, -1+Inv[a]**a}  
Out[3] = {-1+a**w+x**d, a**c+x**z, b**d+y**w, -1+b**z+y**c,  
         -1+c**y+w**a,c**b+w**x, d**a+z**y,  
         -2+d**x+z**b+a**Inv[a]**b,-1+ Inv[a]**a}  
In[4]:= SetMonomialOrder [a, Inv[a], b, c, d, {z}, {x, y, w}]

Execute one of the cells below depending on whether you wish the output to be sorted and specially formated or not.

Now we compute a partial Groebner basis

In[5]:= grobnerBasis = NCMakeGB[inputPolys, 4]  
Out[5] = {-1+a**w+x**d, a**c+x**z, -1+c+x**z, -1+c**y+w**a, d**a+z**y,  
         -1+Inv[a]**a, -1+a**Inv[a], -1+b, d+y**w, -1+z+y**c, c+w**x,  
         -w-c**d+w**a**w, -c**z+w**a**c, -z**d+d**a**w,  
         -z+z**z-d**a**c,-d**a**c**z+z**d**a**c,-1+z+d**x}

Now we compute a Groebner basis, reduce some redundant polynomials, sort the result, and display it in TeX. This may take a long time.

equivalentPolySet = NCProcess[inputPolys, 4, "MyTexFileName"];

Usually much faster than this is

equivalentPolySet =  
    NCProcess[inputPolys, 4, SBByCat -> False, "MyTexFileName"];

Also an unreduced but sorted partial GB is

equivalentPolySet =  
    NCProcess[inputPolys, 4, SBByCat -> False RR -> False, "MyTexFileName"];