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

## Synopsis

• Usage:
forceGB f
• Inputs:
• f,
• Optional inputs:
• ChangeMatrix => ..., default value null, inform Macaulay2 about the change of basis matrix from GB to generators
• MinimalMatrix => ..., default value null, specify the minimal generator matrix
• SyzygyMatrix => ..., default value null, specify the syzygy matrix
• Outputs:

## 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 0x7f8a5120b600 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