1 | initial version |
If you just want to compute a truncated Gröbner basis of your system (say, out to degree 7), then it's easy:
sage: R.<S0,S1,S2,S3,S4,S5> = QQ[]
sage: P.<X0,X1,X2, Y0,Y1,Y2> = Frac(R)[]
sage: P
Multivariate Polynomial Ring in X0, X1, X2, Y0, Y1, Y2 over Fraction Field of Multivariate Polynomial Ring in S0, S1, S2, S3, S4, S5 over Rational Field
sage: I = P * [
....: X0 + Y0 - S0,
....: X0 * X1 + Y0 * Y1 - S1,
....: X0* ( X1^2 + 2 * X2 )+ Y0* ( Y1^2 + 2* Y2 )- 2* S2,
....: X0* ( X1^3 + 6 * X2* X1 )+ Y0 *( Y1^3 + 6* Y2 *Y1 ) - 6 *S3,
....: X0* ( X1^4 + 12* X2* X1^2 + 12* X2^2 )+ Y0 *( Y1^4 + 12* Y2* Y1^2 + 12* Y2^2 )- 24* S4,
....: X0* ( X1^5 + 20* X2* X1^3 + 60* X2^2* X1 ) + Y0 *( Y1^5 + 20 *Y2* Y1^3 + 60* Y2^2 *Y1 ) - 120* S5]
sage: I
Ideal (X0 + Y0 - S0, X0*X1 + Y0*Y1 - S1, X0*X1^2 + Y0*Y1^2 + 2*X0*X2 + 2*Y0*Y2 - 2*S2, X0*X1^3 + Y0*Y1^3 + 6*X0*X1*X2 + 6*Y0*Y1*Y2 - 6*S3, X0*X1^4 + Y0*Y1^4 + 12*X0*X1^2*X2 + 12*Y0*Y1^2*Y2 + 12*X0*X2^2 + 12*Y0*Y2^2 - 24*S4, X0*X1^5 + Y0*Y1^5 + 20*X0*X1^3*X2 + 20*Y0*Y1^3*Y2 + 60*X0*X1*X2^2 + 60*Y0*Y1*Y2^2 - 120*S5) of Multivariate Polynomial Ring in X0, X1, X2, Y0, Y1, Y2 over Fraction Field of Multivariate Polynomial Ring in S0, S1, S2, S3, S4, S5 over Rational Field
sage: %time G = I.groebner_basis(deg_bound = 7)
CPU times: user 0.17 s, sys: 0.01 s, total: 0.18 s
Wall time: 0.46 s
sage: len(G)
18
However, Note two things:
"Usual Gröbner bases" will always destroy the symmetry of your original equations. I am afraid it seems that there is no SAGBI basis in Sage. I wish it was.
Also note that the result is, in general, not a "Gröbner basis out to degree n" but a "truncated Gröbner basis". Namely, while computing the Gröbner basis, all polynomials with leading monomial of degree greater than n will simply be discarded of. But for inhomogeneous systems (like yours) it could happen that the s-polynomial of two polynomials of degree > n have a leading monomial of degree smaller than n. Hence, the truncation will lose information.