next | previous | forward | backward | up | index | toc

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

## Synopsis

• Usage:
Igb = NCGB(I,n)
• Inputs:
• Optional inputs:
• Strategy => , default value "F4Parallel", either "F4Parallel", "F4", or "Naive". Default for finite prime fields with a homogeneous ideal is "F4Parallel", and otherwise default is "Naive", which uses a standard Buchberger-like algorithm
• Outputs:
• Igb, ,

## 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 a finite prime field $\Z/p$.

In order to control the number of cores used in the parallel algorithm, see parallelism in engine computations.

 i1 : A = ZZ/101<|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+50yz+50zy xz-2y2+zx y2z-zy2 yz2-z2y | 1 5 o3 : Matrix A <-- A