## Instructions and suggestions for the sec 2.7 & sec 2.8 homework

Last updated October 31, 2007
(Comments are appreciated if you notice anything that was missed.)

Section 2.7 problems

• Some work is supposed to be shown, so that you can see how the alorithm works. At this time, this means that you should show which S-polynomials are calculated (and reduced with respect to the already found partial Groebner basis). But you are not required to calculate S-polynomials or do the reductions [divisions] by hand. You may also, of course, use the  Basis  (or  gbasis)  command in Maple's Groebner package to check your answers. Your answers in problem #2 will generally be longer than the answers provided by the  Basis  command, since Buchberger's algorithm doesn't say anything about omitting redundant polynomials. In problem #3, your answers should agree essentially with Maple's answers.

• The text mentions the possibility of using a computer algebra system to calculate S-polynomials.
The  SPolynomial  command in the Groebner package is one possibility for this. This involves 2 steps:

1. Calling the Groebner package (if that hasn't already been done).
2. Entering a command like  result:= SPolynomial(poly1,poly2,termorder);  . The term order can be something like:
•  plex(x,y,z)    (lex order),
•  grlex(x,y,z)    (graded lex order),
•  tdeg(x,y,z)    (graded reverse lex),
•   etc.
3. {Only if needed, for instance if the previous step gives a "doubletalk" answer.}   Entering a command like  newresult:= expand(result); , where "result" is the answer that was saved in the previous step. Actually, it's often OK to assign the answer from this step to the same variable name as the previous result, since that one isn't very likely to be needed again.
Note:  The  SPolynomial  command in the current version of Maple is noticeably better than the  spoly  command in earlier versions since this last, somewhat annoying, step usually is unnecessary.

Here's an example:

> f := x^3 - y*z;
3
f := x  - y z

> g:= x^2*y - z^2;
2      2
g := x  y - z

> h := x*z - y^2;
2
h := x z - y

> with(Groebner):

> s := SPolynomial(f,g,plex(x,y,z));

2        2
s := -y  z + x z

If we're applying Buchberger's criterion to see whether  {f, g, h}  is a Groebner basis,
then we have to do reduce  s  with respect to  {f, g, h}  (and whatever monomial ordering we're using.) We have two possibilities:
1. Do the division algorithm "by hand", using  expand  to do the various steps of the division.
2. Use Maple's   Reduce   command to accomplish this. In the example that we just did, we have  s = zh,  so that we expect an unexciting answer. Just to check, here's the calculation:

> s := Reduce(s,[f,g,h],plex(x,y,z));
s := 0

• In exercise 2a, the difference between the lex order and the graded lex order is very slight. To avoid repeating the whole thing twice you might just indicate what the difference is, if you can do this clearly. In exercise 2c, the lex order case is pretty easy (if you remember to reduce with respect to the given ideal bases), but the case of graded lex order is somewhat involved. Using the   Basis  (or  gbasis)  command in Maple will give you an idea of what you're aiming for.

• graded lex order   In the current version of maple, the appropriate termorder description is  grlex(x,y,z)  (in the case of 3 variables with  x > y > z).  If you're using an older version, then (in this same case) the following termorder description works for graded lex order:

'matrix'([[1,1,1],[1,0,0],[0,1,0]],[x,y,z])

(The single quotes in  'matrix' seem to be necessary.)

Section 2.8 problems

Back to the homework list.