next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Macaulay2Doc :: forceGB

forceGB -- declare that the columns of a matrix are a Gröbner basis

Synopsis

Description

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

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

i1 : gbTrace = 3;
i2 : R = ZZ[x,y,z];

   -- registering polynomial ring 3 at 0x7f0625196d00
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 Gröbner basis object is stored with the matrix and can be obtained as usual:
i5 : g === gb(f, StopBeforeComputation=>true)

o5 = true
Requesting a Gröbner 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 Gröbner basis is desired, replace f by gens forceGB f first.

Caveat

If the columns do not form a Gröbner basis, nonsensical answers may result

See also

Ways to use forceGB :

For the programmer

The object forceGB is a method function with options.