<< Chapter < Page Chapter >> Page >

In our above example, it turns out though that we would have been better off first trying to cancel the leading terms of f 2 and f 3 : the polynomial

f 5 = y z f 2 - x f 3 = y z ( x y 2 + z 2 ) - x ( y 3 z - x z 2 ) = x 2 z 2 + y z 3

has a leading term which properly divides that of f 4 , and in fact we see that once we have f 5 I , the polynomial f 4 is redundant since f 4 = x f 5 . We must then check the S -polynomials of f 5 with f 1 , f 2 , and f 3 (this is enough since we've already looked at every pair from f 1 , f 2 , f 3 ):

S ( f 1 , f 5 ) = z 2 ( x 2 y + y 2 z ) - y ( x 2 z 2 + y z 3 ) = 0 , S ( f 2 , f 5 ) = x z 2 ( x y 2 + z 2 ) - y 2 ( x 2 z 2 + y z 3 ) = - y 3 z 3 + x z 4 = - z 2 f 3 , S ( f 3 , f 5 ) = x 2 z ( y 3 z - x z 2 ) - y 3 ( x 2 z 2 + y z 3 ) = - y 4 z 3 - x 3 z 3 = - y z 2 f 3 - x z f 5 ,

and we see that the remainders are all zero, so { f 1 , f 2 , f 3 , f 5 } is a Gröbner basis for I . The set { f 1 , f 2 , f 3 , f 4 , f 5 } is also a Gröbner basis for this ideal, but f 4 is redundant, so we may as well leave it out.

Elimination of variables

We may want to try to find elements of an ideal I R [ x 1 , ... , x n ] which only involve some of the variables x i , ... , x n . For example, to find an implicit equation for the curve given parametrically by a ( t ) p ( t ) , b ( t ) q ( t ) , we would like to find an element of the ideal p ( t ) x - a ( t ) , q ( t ) y - b ( t ) that only involves x and y and not t .

It turns out that to do this, all we need to do is find a Gröbner basis for the ideal in Lex order. This is because in Lex order, if the leading term of a polynomial only involves the variables x i , ... , x n , then in fact all of its terms involve only x i , ... , x n . Thus we have

L T ( I R [ x i , ... , x n ] ) = L T ( I ) R [ x i , ... , x n ]

and if G is a Gröbner basis for I in Lex order, then G R [ x i , ... , x n ] is a Gröbner basis (and hence a generating set!) for I R [ x i , ... , x n ] . See 3.1 in Cox, Little, O'Shea for more details.

Thus, to “eliminate” variables from our ideal (i.e. find the polynomials in the ideal which only involve the other variables), we just need to put the variables to be eliminated first in Lex order and find a Gröbner basis for the ideal. This is something very special about Lex order: none of the other orders we've looked at are “elimination orders” in this sense.

Sample Code

Here is a sample session in Macaulay 2 computing a Gröbner basis for I = x 2 y + y 2 z , x y 2 + z 2 R [ x , y , z ] in graded lex order:

Macaulay 2, version 1.2 with packages: Elimination, IntegralClosure, LLLBases, PrimaryDecomposition, ReesAlgebra,               SchurRings, TangentCone  i1 : R=QQ[x,y,z,MonomialOrder=>GLex]  o1 = R  o1 : PolynomialRing  i2 : f=x^2*y+y^2*z        2     2 o2 = x y + y z  o2 : R  i3 : g=x*y^2+z^2          2    2o3 = x*y  + z  o3 : R  i4 : I=ideal(f,g)               2     2      2    2 o4 = ideal (x y + y z, x*y  + z )  o4 : Ideal of R  i5 : gens gb I  o5 = | xy2+z2 x2y+y2z y3z-xz2 x2z2+yz3 |               1       4o5 : Matrix R  <--- R  i6 : h=y^4*z^2+x^3*z^2        4 2    3 2 o6 = y z  + x z  o6 : R  i7 : h % I  o7 = 0  o7 : R  i8 : h // gens gb I  o8 = {3} | -xyz |     {3} | y2z  |      {4} | 0    |     {4} | x    |               4       1 o8 : Matrix R  <--- R

Here is some code computing the same Gröbner basis in Singular:

                     SINGULAR                             /  A Computer Algebra System for Polynomial Computations   /   version 3-1-0                                                       0<     by: G.-M. Greuel, G. Pfister, H. Schoenemann        \   Mar 2009 FB Mathematik der Universitaet, D-67653 Kaiserslautern    \> ring R = 0,(x,y,z),Dp; //Dp = glex, lp=lex, dp=grevlex> poly f=x^2*y+y^2*z;> poly g=x*y^2+z^2;> ideal I=f,g;         // An "ideal" for Singular is just a list of polynomials.> I;                   // This line is just to display I. I[1]=x2y+y2z I[2]=xy2+z2> ideal gI=groebner(I);> gI; gI[1]=xy2+z2 gI[2]=x2y+y2z gI[3]=y3z-xz2 gI[4]=x2z2+yz3> poly h=y^4*z^2+x^3*z^2;  // Next we will divide h by the list of polynomials I, which> reduce(h,I);         // gives a warning since we aren't dividing by a Groebner basis. // ** I is no standard basisy4z2+x3z2> reduce(h,gI); 0

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, The art of the pfug. OpenStax CNX. Jun 05, 2013 Download for free at http://cnx.org/content/col10523/1.34
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'The art of the pfug' conversation and receive update notifications?

Ask