Gröbner/Standard Bases Over
In this section, we consider a polynomial ring over the integers. As in the previous section on Gröbner/standard bases over fields, let be a monomial ordering on . With respect to this ordering, the localization and, given a nonzero element , the notions leading term, leading monomial, leading exponent, leading coefficient, and tail of are defined as before.
Over , the basic idea of multivariate polynomial division with remainder in OSCAR is as follows: If is the leading term of the intermediate dividend, is some divisor whose leading monomial equals , say , and is the remainder of on division by in , then is replaced by .
Examples
julia> R, (x, y) = polynomial_ring(ZZ, [:x, :y]);
julia> reduce(3*x, [2*x])
x
julia> reduce(6*x, [5*x, 2*x])
0
The notion of leading ideals as formulated in the previous section and the definitions of standard bases (Gröbner bases) carry over: A standard basis for an ideal with respect to is a finite subset of such that (a standard basis with respect to a global monomial ordering is also called a Gröbner basis).
There is, however, a sublety: Over a field, the defining condition of a standard basis as stated above is equivalent to saying that the , generate . Over , the latter condition implies the former one, but not vice versa. Consequently, over , a finite subset of satisfying the latter condition is called a strong standard basis for (with respect to ).
We refer to the textbook [AL94] for more on this.
Over , the standard bases returned by OSCAR are strong in the sense above.
Examples
julia> R, (x,y) = polynomial_ring(ZZ, [:x,:y])
(Multivariate polynomial ring in 2 variables over ZZ, ZZMPolyRingElem[x, y])
julia> I = ideal(R, [3*x^2*y+7*y, 4*x*y^2-5*x])
Ideal generated by
3*x^2*y + 7*y
4*x*y^2 - 5*x
julia> G = groebner_basis(I, ordering = lex(R))
Gröbner basis with elements
1: 28*y^3 - 35*y
2: 4*x*y^2 - 5*x
3: 15*x^2 + 28*y^2
4: 3*x^2*y + 7*y
5: x^2*y^2 - 5*x^2 - 7*y^2
with respect to the ordering
lex([x, y])