A Gröbner basis is a specific generating set for an ideal or submodule, often used to compute other information, such as numerical invariants, operations such as intersections and ideal quotients, syzygies, etc. In Macaulay2, Gröbner bases are computed behind the scenes when needed, and the Gröbner basis is cached in case it is needed later.
See
GroebnerBasis for additional common operations and a comprehensive list of all routines in Macaulay2 which either take Gröbner bases as arguments, or return one.
Common Gröbner-basis tasks are routed as follows.
- To compute a Gröbner basis and extract its generators, use gb and generators.
- To inspect leading terms or coefficients, use leadTerm, leadMonomial, and leadCoefficient.
- To reduce modulo an ideal or test normal forms, see normal forms and RingElement % Ideal.
- To eliminate variables or find implicit equations, see elimination of variables, eliminate, selectInSubring, and kernel(RingMap).
- To control a slow or partial computation, see fine control of a Groebner basis computation, gbSnapshot, gbTrace, and forceGB.
In Macaulay2, Gröbner bases may be computed for ideals and submodules over the following rings:
- ZZ -- Hermite normal form
- fields -- Gaussian elimination
- polynomial rings over a field or over the integers (including skew commutative multiplication)
- quotients of such rings
- Weyl algebras
Gröbner bases of ideals in polynomial rings over other polynomial rings are also allowed.