# NCGB -- Compute a two-sided Groebner basis of an ideal to a specified degree

## Description

This method performs a two-sided Groebner basis calculation of the ideal $I$ to the degree $n$ given. Possible strategies are "Naive", "F4" and "F4Parallel". If no integer is given, the Groebner basis is computed to twice the maximal degree of a generator. As usual, one must take care not to provide too high of a degree here, as Groebner bases may be infinite in the noncommutative case.

The current state of the algorithm requires the FreeAlgebra to be defined over a field, and the "F4" or "F4Parallel" strategies require the base ring to be either QQ, ZZ/p or GF(q).

 i1 : A = QQ<|x,y,z|> o1 = A o1 : FreeAlgebra i2 : I = ideal { x*y + y*x - 2*z^2, y*z + z*y - 2*x^2, z*x + x*z - 2*y^2} 2 2 2 o2 = ideal (x*y + y*x - 2z , - 2x + y*z + z*y, x*z - 2y + z*x) o2 : Ideal of A i3 : Igb = NCGB(I,10) o3 = | xy+yx-2z2 x2-1/2yz-1/2zy xz-2y2+zx y2z-zy2 yz2-z2y | 1 5 o3 : Matrix A <--- A

## Ways to use NCGB :

• "NCGB(Ideal)"
• "NCGB(Ideal,ZZ)"

## For the programmer

The object NCGB is .