I'm practicing a bit with Gröbner bases but I'm not understanding the following result I obtain from Mathematica:
GroebnerBasis[{
(2 a[1] - a[2] - a[3]) (a[2] - a[3])^4,
(a[2] - a[3])^2 (5 a[1]^2 - 5 a[1] a[2] + 2 a[2]^2 - 5 a[1] a[3] + a[2] a[3] +
2 a[3]^2)
},
{x}]
So here I'm computing the Gröbner basis of the terms
(2 a[1] - a[2] - a[3]) (a[2] - a[3])^4
and
(a[2] - a[3])^2 (5 a[1]^2 - 5 a[1] a[2] + 2 a[2]^2 - 5 a[1] a[3] + a[2] a[3] +
2 a[3]^2)
And I indicate that my only variable $x$. This is the result Mathematica returns:
{(a[2] - a[3])^6,
(2 a[1] - a[2] - a[3]) (a[2] - a[3])^4,
(a[2] - a[3])^2 (5 a[1]^2 - 5 a[1] a[2] + 2 a[2]^2 - 5 a[1] a[3] +
a[2] a[3] + 2 a[3]^2)}
So the term
(a[2] - a[3])^6
Has been added. But I don't understand this. I expected the basis of $2$ constants (since neither expression involves $x$ they are just constants) to just be the same again. I also don't understand how this result follows from the algorithm for computing a Gröbner basis, since the leading term of both expressions is just the whole expression, so when calculating their S-polynomials, wouldn't it just be $0$?
Any explanation of why this is the result would be much appreciated. Thanks.
Mathematica doesn't just applies the Buchberger algorithm and returns a Groebner basis. It returns a reduced Groebner basis. So, if your polynomial set contains any non-zero constant, the result is {1}. For example GroebnerBasis[{ 1/y, z}, {x}] returns {1}. However, if your set consists of constants that can be eventually zero, Mathematica returns a reduced Groebner basis of the constants (parameter variables) that can be zero. Hence GroebnerBasis[{ y, z}, {x}] gives {z, y}; but GroebnerBasis[{ t/y, z}, {x}] gives {z, t}. Similarly GroebnerBasis[{(y - z) y, (y - z) z}, {x}] gives {y z - z^2, y^2 - z^2}.
If an expression of constants is nonzero, I don't really understand what Mathematica computes, for example GroebnerBasis[{(y - z) y, y/(y - z) }, {x}] returns {y, y/(y - z)} which is not any Groebner basis.