# Did I write the right “expressions”?

$9$. Consider the parametric curve $K\subset R^3$ given by $$x = (2 + \cos(2s)) \cos(3s)$$ $$y = (2 + \cos(2s)) \sin(3s)$$ $$z = \sin(2s)$$ a) Express the equations of K as polynomial equations in $x,\ y,\ z,\ a = \cos(s),\ b = \sin(s)$. Hint: Trig identities.

b) By computing a Groebner basis for the ideal generated by the equations from part $a$ and $a^2 + b^2 - 1$ as in Exercise 8, show that K is (a subset of) an afﬁne algebraic curve. Find implicit equations for a curve containing K.

c) Show that the equation of the surface from Exercise 8 is contained in the ideal generated by the equations from part b. What does this result mean geometrically? (You can actually reach the same conclusion by comparing the parametrizations of T and K, without calculations.)

I try to solve this problem, on page 102 of Cox's "Ideal, varieties and algorithms: an introduction to computational algebraic geometry and commutative algebra".

On the first question, I get $$x=(2+2\cos^2s-1)(4\cos^3s-3\cos s)=(1+2a^2)(4a^3-3a),$$ $$y=(1+2a^2)(3\sin s-4\sin^3 s)=(1+2a^2)(3b-4b^3),$$ $$z=2ab.$$

I was wondering whether they are right, since the Groebner basis given by them is extremely bad,

-

For what it's worth: you could try easing things a bit for your Gröbner basis computations by using the Weierstrass substitutions

\begin{align*}\cos\,s&=\frac{1-u^2}{1+u^2}\\\sin\,s&=\frac{2u}{1+u^2}\end{align*}

after of course using multiple angle identities to expand out the trigonometric functions. Since it seems you're using Mathematica, here's how I'd do it if I were in your shoes:

GroebnerBasis[TrigExpand[
Thread[{x, y, z} == {(2 + Cos[2 s]) Cos[3 s],
(2 + Cos[2 s]) Sin[3 s], Sin[2 s]}]] /.
Thread[{Cos[s], Sin[s]} -> {(1 - u^2)/(1 + u^2), (2 u)/(
1 + u^2)}], {x, y, z}, u] // FullSimplify


On the other hand, it does seem that Cox/Little/O'Shea is asking you to do it the long way, so here's the "painful" route:

GroebnerBasis[Append[TrigExpand[
{(2 + Cos[2 s]) Cos[3 s], (2 + Cos[2 s]) Sin[3 s],
Sin[2 s]}]] /. Thread[{Cos[s], Sin[s]} -> {a, b}],
a^2 + b^2 == 1], {x, y, z}, {a, b}] // FullSimplify


It's not too hard to do a sanity check of the results of GroebnerBasis[]. Here's one way (to be done after executing the previous snippet):

% /. Thread[{x, y, z} -> {(2 + Cos[2 s]) Cos[3 s],
(2 + Cos[2 s]) Sin[3 s], Sin[2 s]}] // Simplify


If everything went well, you should be getting a list containing a bunch of zeroes.

As I am writing this, I don't have Mathematica installed on the computer I'm using. It can happen that one of the the two options I gave might give a longer list of ideals, but it's guaranteed that one would be a subset of the other.

-

Yes your expressions are correct. For further practices, you can try:

\begin{align*} \cos(ax)&=\frac{e^{iax}+e^{-iax}}{2}\\ \sin(ax)&=\frac{e^{iax}-e^{-iax}}{2i} \end{align*}

-