# GroebnerPackage(Dom, Expon, Dpol)¶

- Dom: GcdDomain
- Expon: OrderedAbelianMonoidSup
- Dpol: Join(FiniteAbelianMonoidRing(Dom, Expon), VariablesCommuteWithCoefficients)

GroebnerPackage computes groebner bases for polynomial ideals. The basic computation provides a distinguished set of generators for polynomial ideals over fields. This basis allows an easy test for membership: the operation normalForm returns zero on ideal members. When the provided coefficient domain, Dom, is not a field, the result is equivalent to considering the extended ideal with Fraction(Dom) as coefficients, but considerably more efficient since all calculations are performed in Dom. Additional argument “info” and “redcrit” can be given to provide incremental information during computation. Argument “info” produces a computational summary for each `s`

-polynomial. Argument “redcrit” prints out the reduced critical pairs. The term ordering is determined by the polynomial type used. Suggested types include DistributedMultivariatePolynomial, HomogeneousDistributedMultivariatePolynomial, GeneralDistributedMultivariatePolynomial.

- groebner: (List Dpol, String) -> List Dpol
`groebner(lp, infoflag)`

computes a groebner basis for a polynomial ideal generated by the list of polynomials`lp`

. Argument infoflag is used to get information on the computation. If infoflag is “info”, then summary information is displayed for each`s`

-polynomial generated. If infoflag is “redcrit”, the reduced critical pairs are displayed. If infoflag is any other string, no information is printed during computation.

- groebner: (List Dpol, String, String) -> List Dpol
`groebner(lp, "info", "redcrit")`

computes a groebner basis for a polynomial ideal generated by the list of polynomials`lp`

, displaying both a summary of the critical pairs considered (`"info"`

) and the result of reducing each critical pair (“redcrit”). If the second or third arguments have any other string value, the indicated information is suppressed.