grobner_examples.mws
Grobner package with Maple
Worksheet by Raqeeb Rasheed
Abstract:
Some examples of grobner package
Application Areas/Subjects:
Algebra
Keywords:
Groebner
>
restart:
Maple's grobner package
The Maple's grobner package is a set of routines for doing Grobner basis calculations. This code is based on the grobner package distributed with Maple V Release 4. It was replaced by a new package, Groebner in Release 5. We are making the old code available here because for some inputs it can be more efficient than the new package.
First let us define a list of polynomials as follows
>
libname := "C:/mylib/grobner",libname;
>
with(grobner):
>
polylist := [y^2*z+1, x^2-y^2, x*z^2+1];
We can determine whether the system of polynomials polylist is solvable.
>
solvable(polylist,[x,z,y],plex);
We can also decide whether polylist has only finitely many solutions (using the total degree Grobner basis and a criterion of Buchberger).
>
finite(polylist);
Now, we can compute the reduced, mininmal Grobner basis of the polynomials in the polylist with the order [x,z,y] and the pure lexicographic (plex) term
>
gbasis(polylist,[x,z,y],plex);
We can ask for the univariate polynomial in x of least degree in the ideal generated by polylist
>
finduni(x,polylist);
Call "gsolve", which compute the reduced Grobner bases for polynomials polylist with respect to all the variables in these polynomials
>
gsolve(polylist);
Let us define a polynomial poly1 as follows
>
poly1 := 4*x^2*z^4-x^3*y*z;
Thus we can compute the leading monomial of the polynomial poly1 with respect to a chosen term ordering ( such as plex)
>
leadmon(poly1,[x,y,z],plex);
Suppose poly2 is a polynomial
>
poly2 := x^3*y^8+4*x*y^4*z;
Then we can compute the full reduced form of poly2 with respect to a given Grobner basis
>
normalf(poly2, [y^6+1,y^4+x,y^4-z] , [x,z,y], plex);
Finally, we can compute the S-polynomial of the two given polynomials with respect to a list variables, for example :
>
spoly(z^2+y^5,2*x^2*z+x*y,[x,y,z]);
>