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

forceGB -- declare that the columns of a matrix are a Groebner basis

Synopsis

Description

Declares that the columns of the matrix f constitute a Groebner basis, autoreduces it, minimizes it, sorts it, and returns a Groebner basis object declaring itself complete, without computing any S-pairs.

Sometimes one knows that a set of polynomials (or columns of such) form a Groebner basis, but Macaulay 2 doesn't. This is the way to inform the system of this fact.

i1 : gbTrace = 3;
i2 : R = ZZ[x,y,z];
i3 : f = matrix{{x^2-3, y^3-1, z^4-2}};

             1       3
o3 : Matrix R  <--- R
i4 : g = forceGB f

o4 = GroebnerBasis[status: done; S-pairs encountered up to degree 0]

o4 : GroebnerBasis
This Groebner basis object is stored with the matrix and can be obtained as usual:
i5 : g === gb(f, StopBeforeComputation=>true)

o5 = true
Requesting a Groebner basis for f requires no computation.
i6 : gens gb f

   -- ...
o6 = | x2-3 y3-1 z4-2 |

             1       3
o6 : Matrix R  <--- R

If an autoreduced Groebner basis is desired, replace f by gens forceGB f first.

Caveat

If the columns do not form a Groebner basis, nonsensical answers may result

See also

Ways to use forceGB :