sage: R.=QQ[] sage: eqs=[a1+b1, a2+a1*b1+b2, a2*b1+a1*b2+b3, a2*b2+a1*b3, a2*b3] sage: J=R.ideal(eqs) sage: J.groebner_basis() [b1*b2^2 - 2*b2*b3, b2^3 - b3^2, b1*b2*b3 - b3^2, b2^2*b3, b1*b3^2, b2*b3^2, b3^3, a2^2 - b2^2 + b1*b3, a2*b1 - b1*b2 + b3, b1^2 - a2 - b2, a2*b2 - b1*b3, a2*b3, a1 + b1] sage: J.dimension() 0 sage: J.vector_space_dimension() 10 sage: binomial(5,2) 10 sage: pt=J.reduce(a2^3) sage: pt b3^2 sage: R2.=QQ[] sage: (5*x) * (4*x+y) * (3*x+2*y) * (2*x+3*y) * (x+4*y) * (5*y) 600*x^5*y + 3850*x^4*y^2 + 6725*x^3*y^3 + 3850*x^2*y^4 + 600*x*y^5 sage: (5*x) * (4*x+y) * (3*x+2*y) * (2*x+3*y) * (x+4*y) * (5*y) - (600*(x*y*(x+y)^4)) 1450*x^4*y^2 + 3125*x^3*y^3 + 1450*x^2*y^4 sage: (5*x) * (4*x+y) * (3*x+2*y) * (2*x+3*y) * (x+4*y) * (5*y) - (600*(x*y*(x+y)^4)+1450*(x*y)^2*(x+y)^2) 225*x^3*y^3 sage: (5*x) * (4*x+y) * (3*x+2*y) * (2*x+3*y) * (x+4*y) * (5*y) - (600*(x*y*(x+y)^4)+1450*(x*y)^2*(x+y)^2+225*(x*y)^3) 0 sage: J.reduce(600*a2*a1^4+1450*a2^2*a1^2+225*a2^3) 2875*b3^2