Application Center - Maplesoft

App Preview:

Grobner Basis Package, original version

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

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;

libname :=

> with(grobner):

> polylist := [y^2*z+1, x^2-y^2, x*z^2+1];

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);

true

We can also decide whether polylist has only finitely many solutions (using the total degree Grobner basis and a criterion of Buchberger).

> finite(polylist);

true

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);

[y^4+x, y^4+z, -1+y^6]

We can ask for the univariate polynomial in x of least degree in the ideal generated by polylist

> finduni(x,polylist);

1+x^3

Call "gsolve", which compute the reduced Grobner bases for polynomials polylist with respect to all the variables in these polynomials

> gsolve(polylist);

[[y+1, z+1, x+1], [y-x, z-x, x^2-x+1], [y-1, z+1, x...

Let us define a polynomial poly1 as follows

> poly1 := 4*x^2*z^4-x^3*y*z;

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);

[-1, x^3*y*z]

Suppose poly2 is a polynomial

> poly2 := x^3*y^8+4*x*y^4*z;

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);

y^2-4

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]);

2*x^2*z^3-y^6*x

>