我尝试使用Buchberger的算法(另请参阅:http://en.wikipedia.org/wiki/Buchberger%27s_Algorithm和http://www.geocities.com/famancin/buchberger.html)来计算理性字段中理想的Groebner基础,这是我的GAP脚本:
F := Rationals;
R := PolynomialRing( F, [ "x", "y", "z" ]);
x := IndeterminatesOfPolynomialRing(R)[1];
y := IndeterminatesOfPolynomialRing(R)[2];
z := IndeterminatesOfPolynomialRing(R)[3];
I := Ideal (R, [x^2+2*x*y^2, x*y + 2*y^3 - 1]);
ord := MonomialLexOrdering(x,y,z);
GroebnerBasis( I, ord );
但结果总是这样:
[ 2*x*y^2+x^2, 2*y^3+x*y-1, -x, -4*y^4+2*y, 2*y^3-1 ]
显然,第四个可以完全除以最后一个基础,第一个和第二个可以完全除以第三个基础。预期结果应该是这样的:
[ -x, 2*y^3-1 ]
所以我的问题是如何在GAP中获得简化的Groebner基础?
答案 0 :(得分:3)
尝试ReducedGroebnerBasis
命令:
gap> ReducedGroebnerBasis(I, ord);
[ y^3-1/2, x ]