21.3 First Example

For example, after loading the files NCGB.m, SmallBasis.m (§21.1.1) we can execute the commands to compute a subset of a Gröbner Basis for the set of relations {p **p - p,p **a **p - a **p}:

In[2]:= SetKnowns[a,p]  
In[3]:= {p**p-p,p**a**p - a**p}  
Out[3]= {-p + p ** p, -a ** p + p ** a ** p}  
In[4]:= NCMakeGB[%,4]

Out[4]= {-p + p ** p, -a ** p + p ** a ** p, -a ** a ** p + p ** a ** a ** p,  
>    -a ** a ** a ** p + p ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** p + p ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** p + p ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** p + p ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p,  
>    -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** p\  
>     , -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>       a ** p + p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>      a ** a ** a ** p, -a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>       a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>      a ** a ** p, -a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>       a ** a ** a ** a ** a ** p +  
>     p ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a ** a **  
>      a ** a ** a ** p}

The command SmallBasis takes this (or any) set of relations and shrinks it down to a smaller set of relations which generate the same ideal. One must have a monomial order set because SmallBasis (§21.1.1) calls NCMakeGB. SmallBasis returns a subset of the original set of relations. In the example below the SmallBasis command shows that the ideal generated by the set Out[4] equals the ideal generated by {-p + p **p,-a **p + p **a **p}. 1

In[5]:= SmallBasis[%4,{},4];  
Out[5]= {-p + p ** p, -a ** p + p ** a ** p}