# Groebner bases

Groebner bases use the implementation of the F4 algorithm from Groebner.jl package as its backend. We refer to the documentation of Groebner.jl, which lists some implementations details and possible use-cases of Groebner bases.

`Symbolics.groebner_basis`

— Functiongroebner_basis(polynomials)

Computes a Groebner basis of the ideal generated by the given `polynomials`

. The basis is reduced, thus guaranteed to be unique.

**Example**

```
julia> using Symbolics
julia> @variables x y;
julia> groebner_basis([x*y^2 + x, x^2*y + y])
```

The coefficients in the resulting basis are in the same domain as for input polynomials. Hence, if the coefficient becomes too large to be represented exactly, `DomainError`

is thrown.

The algorithm is randomized, so the basis will be correct with high probability.