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 Spolynomials are calculated (and reduced with respect to the already
found partial Groebner basis). But you are not required to
calculate Spolynomials 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 Spolynomials.
The SPolynomial
command in the Groebner package is one possibility for this. This involves
2 steps:
 Calling the Groebner package (if that hasn't already been done).
 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.
 {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:
 Do the division algorithm "by hand", using expand to do
the various steps of the division.
 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
 In exercises 1 and 2 You need to calculate the normal form
of f with respect to a Groebner basis of the given ideal.
(Use whatever monomial ordering you prefer.) It's now OK
to use Maple's Basis (or gbasis)
command to compute the Groebner basis. After you compute the Groebner basis,
the Reduce command in the Groebner package will then
tell you what the answer is. In the case where f is
in the ideal, it's also highly desirable to also implement
the
division algorithm by hand in order to verify the answer. Indeed,
this process will produce the polynomial coefficients which exhibit
the ideal membership.
 In exercise 3, you can use the Basis
command to find a nice Groebner basis, but there also is a way to do this
problem by hand with relatively little work.
 In exercise 7, work with a linear combination of the
vectors ( t, 0, 1 )^{tr} and
( 0, 1, t )^{tr}.
(But the coefficients are going to be linear polynomials in the other
variable.) Here, the superscript ^{tr} denotes
"transpose", so that things look like column vectors  mostly for purposes
of appearance.
Comments and questions to:
roberts@math.umn.edu
Back to the homework list.