Parametrizing implicit algebraic curves

Back in the day, I was absolutely enthralled by the study of plane curves and their properties (I have Lockwood and Zwikker to thank). I learned early on that for the purposes of generating plots on a computer (and for that matter deducing equations of "derived curves" and determining other special properties), one should try to find a representation in parametric equations for your plane curve.

As I recall, in dealing with algebraic curves represented by an implicit Cartesian equation, I knew of only three tricks to derive parametric equations from an implicit equation (listed in decreasing order of effectiveness; I note that I did all these investigations even before I knew computer algebra systems existed):

1: Convert to polar coordinates to express in the form $r=r(\theta)$; the parametric equations are then

$\begin{align*}x&=r(\theta)\cos\,\theta\\y&=r(\theta)\sin\,\theta\end{align*}$

2: The $y=mx$ "trick" (I never did get to learn the formal name for this technique); to use the implicit equation for the folium of Descartes as an example:

$x^3+y^3=3xy$

$x^3+(mx)^3=3x(mx)$

and then by solving for x and using the relation $y=mx$ again,

$\begin{align*}x&=\frac{3m}{1+m^3}\\y&=\frac{3m^2}{1+m^3}\end{align*}$

(I remember this worked especially well for curves whose (only?) singular points are at the origin, but not very well for other curves; can anybody explain why?)

3: Randomly replacing x or y with any of the six trigonometric functions (maybe multiplied by a convenient constant), and hope that I can easily solve for the other variable. For instance, I managed to derive the parametric equation for the bicorn and the Dürer conchoid in this way.

Probably the only other thing I learned way after I had moved on to other things was that elliptic curves can for instance be represented as parametric equations involving the Weierstrass ℘ function or the elliptic exponential, but this is apparently limited to elliptic curves only.

Now for my question: did I miss any other useful (general?) methods for turning an implicit Cartesian equation for an algebraic curve into parametric equations?


Addendum, 8/7/2011

I didn't want to ask a separate question, so: are there systematic methods for parametrizing a plane algebraic curve in terms of (Jacobi or Weierstrass) elliptic functions? For instance, we find here that the Fermat cubic $x^3+y^3=a^3$ can be parametrized in terms of Weierstrass functions, in addition to the elliptic curve example I gave previously. I've also encountered in my readings that the Cartesian ovals can also be parametrized with Weierstrass functions, but I have been unable to find an explicit construction of the parametric equations.


This is not intended as a full answer, but as a way to try to decide if it is feasible to be able to parameterize a plane curve in an easy way.

The two examples you give, namely the folium and the bicorn, are examples of "irreducible curves of geometric genus zero". For the purpose of this discussion you can take "irreducible curve" to mean the locus of zeros of an irreducible polynomial in two variables. Geometric genus zero is harder to define, though see this question and the various answers, especially the answer of Matt E. In the linked answer, the "genus" that is defined is the "arithmetic genus", whereas we are interested in the "geometric genus".

The two genera are not unrelated, and the discrepancy between them is concentrated at the singular points of the curve. A singular point of a plane curve $C$ given as the vanishing set of a polynomial $f(x,y)$ is a point $p$ in the plane that lies on the curve (i.e. $f(p)=0$) and where both partial derivatives of $f$ vanish (i.e. $df/dx(p)=df/dy(p)=0$).

Thus, while the arithmetic genus of an (irreducible) plane curve $C$ of degree $d$ is simply $p_a:=(d-1)(d-2)/2$, the geometric genus of $C$ is an integer less than or equal to $p_a$. I will not dwell too much on how to compute the geometric genus, for the moment I will simply say that every singular point decreases the arithmetic genus by at least one (counting also the "esoteric" singular points at infinity, as you need to explain the bicorn). There are algorithmic way to decide the drop in genus that every singular point determines and thus the computation of the geometric genus can be taken as "easy".

Over the complex numbers. It is a fact that, whenever the geometric genus of an irreducible curve $C$ is zero then you can find a parameterization of $C$ by rational functions of a single variable $t$, provided that you are thinking about the complex solutions of your curve. This parameterization can be found algorithmically, and while there are various tricks to use, the substitution $y=mx$ is at the core: depending on context it might be called "projection" or "blow up". The other trick is that you can "reembed" your curve by considering the vector space whose coordinates are all the monomials of some given degree $n$ and take the image of the curve under the map that sends a point in the plane in the $N$-tuple of all the evaluations of the monomials you have chosen. Instead of being more explicit, let me give an example: if the curve is the $x$-axis in the plane, and you choose the monomials $1,x,y,x^2,xy,y^2$ to reembed, then we image of the $x$-axis (i.e. the locus where $y=0$) is the set of points with coordinates $(1,x,0,x^2,0,0)$ in a 6-dimensional space. Forgetting the useless coordinates (this is an instance of projection) gives us a plane curve parameterized by $(x,x^2)$, namely the parabola $x_1^2=x_2$. In this example we started with a parameterization and ended with a parameterization. Being more refined you can also start with an implicit equation and end with (lots of) implicit equations in more variables.

Once you have projections and reembeddings you can play them against one another: embed your curve in large enough space. Project away from singular points until you get back to the plane; reembed and reproject. There is a way of making sure that "singular points get resolved" by doing this, so that eventually you get to a curve having no singular points. Once you are there, further projections will do the trick of getting you to a line.

Over the real numbers. Of course things are somewhat trickier. Certainly two possibilities are the folium, where the rational parameterization you had over the complex numbers "just works" over the reals, but there is the slightly more elaborate one of the bicorn, where you have a rational parameterization in terms of trigonometric functions. Again, by modification of the tricks discussed above, you can get every irreducible curve of genus zero to become a plane conic. Once in this form, you will find a rational parameterization if and only if you can find a point, and deciding if there is a point reduces to the computation of whether a matrix constructed out of the coefficients of the equation has eigenvalues of different signs or not. The distinction between rational parameterization in terms of a variable or in terms of trigonometric functions has to do with personal taste.

So far, this has dealt with curves of genus zero and I will not say much about higher genus. If the genus is one, there is, as you mentioned, the possibility of using the Weierstrass $\wp$. Here things become more complicated: the function used to parameterize everything is less familiar, you will probably need some transcendental numbers to get this parameterization to work, and the topological description of the space of solutions gets more in the way. In the genus zero case, the only thing that mattered was: is it empty, is it not empty. In the genus one case there is "one more" possibility. Of course, higher genera become harder and harder, and I will stop here, given that this is already way too much for this!