User's input is in blue; computer's output is in black.

#### Simple session

The Gröbner basis computations for the ideal xx-yy, xy in the commutative polynomial algebra K[x,y]:

``` 1 lisp> (simple) Now input in-variables and ideal generators in algebraic form, thus:   vars v1, ..., vn;   r1, ..., rm; where v1, ..., vn are the variables, and r1, ..., rm the generators. algebraic form input> vars x,y; x^2-y^2,x*y; % 2 x*y,   x^2-y^2, % 3 y^3,  Done ```

#### Simple non-commutative

Input: variables x,y and ideal (xx-yy, xy) in K<x,y>

``` 1 lisp> (noncommify) nil 2 lisp> (simple) Now input in-variables and ideal generators in algebraic form, thus:   vars v1, ..., vn;   r1, ..., rm; where v1, ..., vn are the variables, and r1, ..., rm the generators. algebraic form input> vars x,y; x^2-y^2, x*y; % 2 x*y,   -y^2+x^2, % 3 x^3,   y*x^2  Done```

#### Homogenization and eliminating ordering

Suppose that we need to calculate minimal polynomials for the variables from the algebra A= <r,l,q| rr-qq+lr-r, rq-qr+lq-q, lr-rl, lq+ql-2q, rr-rl-2lr+2ll-r+l>

``` 2 lisp> (noncommify) nil 3 lisp> (elimorder) nil 4 lisp> (simple) Now input in-variables and ideal generators in algebraic form, thus:   vars v1, ..., vn;   r1, ..., rm; where v1, ..., vn are the variables, and r1, ..., rm the generators. algebraic form input> vars r,l,q,h; algebraic form input> r*r-q*q+l*r-r*h,r*q-q*r+l*q-q*h, algebraic form input> l*r-r*l,l*q+q*l-2*q*h, algebraic form input> r*r-r*l-2*l*r+2*l*l-r*h+l*h, algebraic form input> r*h-h*r,q*h-h*q,l*h-h*l; % 2 -h*q+q*h,   -h*l+l*h,   q*l+l*q-2*q*h,   -h*r+r*h,   -q*r+r*q+l*q-q*h,   -4*r*l+2*l^2+l*h+q^2,   4*l*r-2*l^2-l*h-q^2,   4*r^2-4*r*h+2*l^2+l*h-3*q^2,   % 3 4*r*q*h-4*l^2*q+10*l*q*h-q^3-9*q*h^2,   4*r*q^2+12*l^3-10*l*q^2-3*l*h^2-3*q^2*h,   % 4 l*q^3-3*l*q*h^2-q^3*h+3*q*h^3,   -12*l^3*h-4*l^2*q^2+20*l*q^2*h+3*l*h^3-q^4-6*q^2*h^2,   -4*l^3*q+12*l^2*q*h-11*l*q*h^2+3*q*h^3,   12*l^4-8*l^2*q^2-3*l^2*h^2-2*l*q^2*h+q^4,   % 5 -48*l^2*q*h^2+96*l*q*h^3-q^5+10*q^3*h^2-57*q*h^4,   % 6 -48*l^2*q^2*h^2+96*l*q^2*h^3-q^6+10*q^4*h^2-57*q^2*h^4,   % 7 -q^7+13*q^5*h^2-39*q^3*h^4+27*q*h^6,   Done ```

The minimal polynomials for q: q7-13q5+39q3-27q=0. It is possible to get other minimal polynomials changing the order of variables.

#### Hilbert series computation

``` 2 lisp> (hilbert)  Input the maximal power series degree you want to calculate 2 lisp> 7  Now input in-variables and ideal generators in algebraic form, thus:   vars v1, ..., vn;   r1, ..., rm; where v1, ..., vn are the variables, and r1, ..., rm the generators.  algebraic form input> vars x,y; x^3, x*y^2-x^2*y;  % 3   -x^2*y+x*y^2,   x^3, % 4   x*y^3,  Hilbert series numerator: +1*t^0+1*t^1+1*t^2-1*t^3-1*t^4 Hilbert series denominator: 1-t Hilbert power series: 1+2t^1+3t^2+2t^3+t^4+t^5+t^6+t^7+... Done ```

#### Computation of Gröbner basis using known Hilbert series

The following session shows how to calculate Gröbner basis faster using the known Hilbert series.
Prepare the file named "sixroots" containing:

``` (algforminput) vars a,b,c,d,e,f,z; a+b+c+d+e+f, a*b+b*c+c*d+d*e+e*f+f*a, a*b*c+b*c*d+c*d*e+d*e*f+e*f*a+f*a*b, a*b*c*d+b*c*d*e+c*d*e*f+d*e*f*a+e*f*a*b+f*a*b*c, a*b*c*d*e+b*c*d*e*f+c*d*e*f*a+d*e*f*a*b+e*f*a*b*c+f*a*b*c*d, a*b*c*d*e*f-z^6; ```
Hilbert series of the corresponding factor-ring is known from the literature:

1 +6t+20t2+49t3+98t4+169t5+ 259t6+ 360t7+ 462t8+ 557t9+ 642t10+
+715t11+ 778t12+836t13+ 894t14+ 954t15+ 1014t16+ +1074t17+ 1134t18+ 1194t19+...

Now you call bergman and enter:

``` 1 lisp> (setinterruptstrategy minhilblimits)  nil 2 lisp> (sethseriesminima 1 6 20 49 98 169 259 360 462 557 642 715 778 836 894 954 1014 1074 1134 1194)  t 3 lisp> (simple "sixroots" "sixroots.gb")```

You get the result in the file "sixroots.gb".

#### Gröbner basis and Hilbert series for modules over non-commutative algebras

``` 2 lisp> (modulehseries) Input the Maximum Degree you want to calculate  3 lisp> 5 Input the quantity of the module generators  4 lisp> 2 Now input ALL ring and module variables but ONLY the ring ideal generators in algebraic form, thus:    vars v1, ..., vn;    r1, ..., rm; where v1, ..., vn are all the variables, and r1, ..., rm the generators.  algebraic form input> vars y,x,b,a; x*x-y*y; +t^2*(z^2) % 2 x^2-y^2,  +t^3*(z^2+z^3) % 3 x*y^2-y^2*x,  +t^4*(z^3+z^4) +t^5*(z^4+z^5) +15*z^2 +56*z^3 +209*z^4 +780*z^5  Now input ONLY the module relations: r1, ..., rm; where r1, ..., rm are the module relations.  algebraic form input>a*x-b*y; +t^2*(2*z^2) % 2 a*x-b*y,  +t^3*(2*z^2+2*z^3) % 3 a*y^2-b*y*x,  +t^4*(2*z^3+2*z^4) Done +t^5*(2*z^4+2*z^5) +14*z^2 +48*z^3 +164*z^4 +560*z^5    Here is (1-H)^(-1) for Hilbert series H of the module     +1   +2*t^1   +7*t^2  +24*t^3  +82*t^4 +280*t^5   Here is the Hilbert series H of the module   +2*t^1 +3*t^2 +4*t^3 +5*t^4 +6*t^5 NIL ```

#### The Anick resolution and Betti numbers for a trivial module

``` 1 lisp> (anick) *** We turn on noncommutativity Input the Maximum Degree you want to calculate 1 lisp> 4  Now input in-variables and ideal generators in algebraic form, thus:  vars v1, ..., vn;   r1, ..., rm; where v1, ..., vn are the variables,   and r1, ..., rm the generators. algebraic form input>vars x,y; x*x+y*y+x*y+y*x;  The Anick resolution initialization... B(1,1)=2 The Anick resolution initialization done. +t^2*(z^2) % 2 y^2+y*x+x*y+x^2,  Calculating the Anick resolution in degree 2... B(1,1)=2 B(2,2)=1     0 1 2   +---------- 0 | 1 2 1 1 | - - end of Calculations. +t^3*(z^3) Calculating the Anick resolution in degree 3... B(1,1)=2 B(2,2)=1 B(3,3)=1     0 1 2 3   +-------------- 0 | 1 2 1 1 1 | - - - 2 | - - end of Calculations.  Groebner basis is finite. If you want to continue calculations until maximal degree type (calculateanickresolutiontolimit (getmaxdeg)) nil 2 lisp>(calculateanickresolutiontolimit (getmaxdeg)) Calculating the Anick resolution in degree 4... B(1,1)=2 B(2,2)=1 B(3,3)=1 B(4,4)=1     0 1 2 3 4   +------------------ 0 | 1 2 1 1 1 1 | - - - - 2 | - - - 3 | - - end of Calculations.   The Anick resolution and Betti numbers for a right module  1 lisp> (SETQ ANICKRESOLUTIONOUTPUTFILE "resolution.txt")  "resolution.txt"  2 lisp> (MODULEBETTINUMBERS)    *** We turn on the MODULE mode  *** We turn on noncommutativity  Input the Maximum Degree you want to calculate  2 lisp> 5  Input the number of the module variables  2 lisp> 1  Now input all ring and then all module variables.  Input  the ring ideal and module relations in algebraic form  thus:        vars v1, ..., vn;         r1, ..., rm;  where v1, ..., vn are all the variables, and r1, ..., rm the  relations.  algebraic form input>  vars x,a;x*x,a*x;  The Anick resolution initialization...  B(0,0)=1  The Anick resolution initialization done.  +t^2*(2*z^2)  % 2  x^2,     a*x,  Calculating the module Anick resolution in degree 2...  B(0,0)=1  B(1,1)=1      0   1   2    +----------  0 | 1   1  1 | -  end of Calculations.  +t^3*(2*z^3)  Calculating the module Anick resolution in degree 3...  B(0,0)=1  B(1,1)=1  B(2,2)=1      0   1   2   3    +--------------  0 | 1   1   1  1 | -   -  2 | -  end of Calculations.    Groebner basis is finite.  If you want to continue calculations until the maximal degree  type (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  nil  3 lisp>  (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  Calculating the module Anick resolution in degree 4...  B(0,0)=1  B(1,1)=1  B(2,2)=1  B(3,3)=1      0   1   2   3   4    +------------------  0 | 1   1   1   1  1 | -   -   -  2 | -   -  3 | -  end of Calculations.  Calculating the module Anick resolution in degree 5...  B(0,0)=1  B(1,1)=1  B(2,2)=1  B(3,3)=1  B(4,4)=1      0   1   2   3   4   5    +----------------------  0 | 1   1   1   1   1  1 | -   -   -   -  2 | -   -   -  3 | -   -  4 | -  end of Calculations.  nil  4 lisp> (ANICKDISPLAY)  Printing the results ...  Printing is done.   The Anick resolution and Betti numbers for a factor-algebra 1 lisp>(factalgbettinumbers) *** We turn on the MODULE mode *** We turn on noncommutativity Input the Maximum Degree you want to calculate 1 lisp> 5 Now input all ring variables, a dummy variable (D), and copies of the ring variables (in this order), in this manner:   vars x1, ..., xn, D, y1, ..., yn; (where x1,..., xn are the ring variables, and y1,...,yn their copies) Then input the ring ideal relations (in ordinary algebraic form); but the factor algebra relations in the form   D*r1, ..., D*rm, where r1, ..., rm are the relations. algebraic form input> vars x,y, D, X,Y; algebraic form input> x*x, x*y, y*x, y*y, D*x; The Anick resolution initialization... B(0,0)=1 The Anick resolution initialization done. +t^2*(7*z^2) % 2 x^2,   x*y,   y*x,   y^2,   D*x,   X*D,   Y*D-D*y,  Calculating the module Anick resolution in degree 2... B(0,0)=1 B(1,1)=1     0 1 2   +---------- 0 | 1 1 1 | - end of Calculations. +t^3*(12*z^3) Calculating the module Anick resolution in degree 3... B(0,0)=1 B(1,1)=1 B(2,2)=2     0 1 2 3   +-------------- 0 | 1 1 2 1 | - - 2 | - end of Calculations.  Groebner basis is finite. If you want to continue calculations until the maximal degree type (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG)) NIL 2 lisp> (calculateanickresolutiontolimit (getmaxdeg))  Calculating the module Anick resolution in degree 4... B(0,0)=1 B(1,1)=1 B(2,2)=2 B(3,3)=4     0 1 2 3 4   +------------------ 0 | 1 1 2 4 1 | - - - 2 | - - 3 | - end of Calculations.  Calculating the module Anick resolution in degree 5... B(0,0)=1 B(1,1)=1 B(2,2)=2 B(3,3)=4 B(4,4)=8     0 1 2 3 4 5   +---------------------- 0 | 1 1 2 4 8 1 | - - - - 2 | - - - 3 | - - 4 | - end of Calculations.   The Anick resolution and Betti numbers for a left module  1 lisp>  (leftmodulebettinumbers)  Input the Maximum Degree you want to calculate  1 lisp> 5  Input the number of the module variables  1 lisp> 1  Now input all ring and then all module variables.  Input  the ring ideal and module relations in algebraic form  thus:        vars v1, ..., vn;         r1, ..., rm;  where v1, ..., vn are all the variables, and r1, ..., rm the  relations.  algebraic form input> vars x,a; x*x, x*a;  The Anick resolution initialization...  B(0,0)=1  The Anick resolution initialization done.  +t^2*(2*z^2)  % 2  x^2,     a*x,    Calculating the module Anick resolution in degree 2...  B(0,0)=1  B(1,1)=1      0   1   2    +----------  0 | 1   1  1 | -  end of Calculations.  +t^3*(2*z^3)  Calculating the module Anick resolution in degree 3...  B(0,0)=1  B(1,1)=1  B(2,2)=1      0   1   2   3    +--------------  0 | 1   1   1  1 | -   -  2 | -  end of Calculations.    Groebner basis is finite.  If you want to continue calculations until the maximal degree  type (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  nil  2 lisp> (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  Calculating the module Anick resolution in degree 4...  B(0,0)=1  B(1,1)=1  B(2,2)=1  B(3,3)=1      0   1   2   3   4    +------------------  0 | 1   1   1   1  1 | -   -   -  2 | -   -  3 | -  end of Calculations.  Calculating the module Anick resolution in degree 5...  B(0,0)=1  B(1,1)=1  B(2,2)=1  B(3,3)=1  B(4,4)=1      0   1   2   3   4   5    +----------------------  0 | 1   1   1   1   1  1 | -   -   -   -  2 | -   -   -  3 | -   -  4 | -  end of Calculations.  3 lisp>  Betti numbers for two modules 1 lisp> (twomodbettinumbers) *** We turn on the TWOMODULES mode Input the Maximum Degree you want to calculate 1 lisp> 6 Input the number of the right module variables 1 lisp> 1 Input the number of the left module variables 1 lisp> 1 Now input all ring and then all module variables. Right module variables should be before the left ones. Input the ring ideal and module relations in algebraic form thus:   vars v1, ..., vn;    r1, ..., rm; where v1, ..., vn are all the variables, and r1, ..., rm the relations. algebraic form input> vars x,y,r,l; algebraic form input> r*x,y*l-x*l; The Anick resolution initialization (for two modules)... The Anick resolution initialization done. +t^2*(2*z^2) % 2 y*l-x*l,   r*x,  Calculating the module Anick resolution in degree 2... B(0,0)=1     0 1 2   +---------- 0 | 1 end of Calculations. Groebner basis is finite.  If you want to continue calculations until the maximal degree type (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  2 lisp> (CALCULATEANICKRESOLUTIONTOLIMIT (GETMAXDEG))  Calculating the module Anick resolution in degree 3... B(0,0)=1     0 1 2   +---------- 0 | 1 end of Calculations.  Calculating the module Anick resolution in degree 4... B(0,0)=1 B(0,2)=1     0 1 2 3 4   +------------------ 0 | 1 - - 1 | - - 2 | 1 end of Calculations.  Calculating the module Anick resolution in degree 5... B(0,0)=1 B(0,2)=1 B(0,3)=2     0 1 2 3 4 5   +---------------------- 0 | 1 - - - 1 | - - - 2 | 1 - 3 | 2 end of Calculations.  Calculating the module Anick resolution in degree 6... B(0,0)=1 B(0,2)=1 B(0,3)=2 B(0,4)=4     0 1 2 3 4 5   +---------------------- 0 | 1 - - - - 1 | - - - - 2 | 1 - - 3 | 2 - 4 | 4 end of Calculations.  Hochschild homology 1 lisp> (hochschild) *** We turn on the TWOMODULES mode *** We turn on noncommutativity Input the Maximum Degree you want to calculate 1 lisp> 5 Now input all ring variables, copies of the ring variables,   and two dummy variable (D1,D2) (in this order), in this manner:   vars x1, ..., xn, y1, ..., yn, D1, D2; (where x1,..., xn are the ring varables, and y1,...,yn their copies) Then input the ring ideal relations (in ordinary algebraic form);   r1, ..., rm; algebraic form input> vars x,y,X,Y,r,l;x*y;  *** Function `addadditionalrelations' has been redefined  The Anick resolution initialization (for two modules)...  The Anick resolution initialization done.  +t^2*(10*z^2) % 2 x*y,   -X*x+x*X,   -X*y+y*X,   X*l-x*l,   -Y*x+x*Y,   -Y*y+y*Y,   Y*X,   Y*l-y*l,   r*X-r*x,   r*Y-r*y,  end of Calculations.  +t^3*(4*z^2+12*z^3)  % 3  r*x*X-r*x^2,     -r*y*x+r*x*Y,     r*y*X,     r*y*Y-r*y^2,    Calculating the module Anick resolution in degree 3...  B(0,0)=1  B(0,1)=2  B(1,1)=2      0   1   2   3    +--------------  0 | 1   2  1 | 2  end of Calculations.  +t^4*(4*z^2+11*z^3+6*z^4)  % 4  r*x^2*X-r*x^3,     -r*y^2*x+r*x*Y^2,     r*y^2*X,     r*y^2*Y-r*y^3,    Calculating the module Anick resolution in degree 4...  B(0,0)=1  B(0,1)=2  B(1,1)=2  B(0,2)=2  B(1,2)=2      0   1   2   3   4    +------------------  0 | 1   2   -  1 | 2   2  2 | 2  end of Calculations.  +t^5*(4*z^2+11*z^3+6*z^4+z^5) % 5 r*x^3*X-r*x^4,   -r*y^3*x+r*x*Y^3,   r*y^3*X,   r*y^3*Y-r*y^4,  Calculating the module Anick resolution in degree 5... B(0,0)=1 B(0,1)=2 B(1,1)=2 B(0,2)=2 B(1,2)=2 B(0,3)=2 B(1,3)=2     0 1 2 3 4 5   +---------------------- 0 | 1 2 - - 1 | 2 2 - 2 | 2 2 3 | 2 end of Calculations.  Using "Jumping Rabbit" for non-homogeneuos relations 1 lisp> (rabbit 2 3 8) algebraic form input> vars x,y,z; algebraic form input> x*y-z,y*z-x,z*x-y; SetupGlobals  ... done *** Garbage collection starting *** GC 1 19-Aug-2006 16:21:25, 0 ms (0%), 61501 occupied, 1563493 free    Further messages from the garbage collector are deleted RABBIT: Added step, Maxdegree=5 Jump number 1 RABBIT: Jump number 2 GB is completely calculated Rabbit have finishied jumping GB is x*y-z,    y^2-x^2,    y*z-x,    z*x-y,    -z^2+x^2,    x^3-z*y,    -x^2*z+y*x,    y*x^2-x*z,    y*x*z-x*z*y,    -z*y*x+x*z*y, nil ```