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} |