# Is there a general way to parameterize all implicit functions?

We all know some curves can be described by $y=f(x)$ and some surfaces can be described by $z=f(x,y)$ However, there exists curves and surfaces which cannot be described by those, such as a circle and a sphere. Therefore, we introduce parameterized vector equations, which can describe them.
For example, circle: $\vec r(t)=r\cos(t)\hat i+r\sin(t)\hat j$
sphere: $\vec r(u,v)=\rho\cos(u)\sin(v)\hat i+\rho\sin(u)\sin(v)\hat j+\rho\cos(v)\hat k$

However, all curves described by $y=f(x)$ and $z=f(x,y)$ can be parameterized.
For curves, $$\vec r(t)=t\hat i+f(t)\hat j$$ For surfaces, $$\vec r(u,v)=u\hat i+v\hat j+f(u,v)\hat k$$ Therefore, I think this suggests the set of all parameterized surfaces (or curves) is the super-set of the set of all surfaces (or curves) described by $z=f(x,y)$ (or $y=f(x)$). Is that correct?

Now, here comes the the real challenge. A curve can also be described by an implicit function $f(x,y)=0$ and a surface can also be described by an implicit function $f(x,y,z)=0$
I have 3 questions regarding this.

1. Can all surfaces (curves) described by an implicit function be parameterized? (If yes, then what is the general way?)
2. Can all surfaces (curves) described by parametric vector equations be represented using implicit function? (If yes, then what is the general way?)
3. Compare the set of all parameterized surfaces (curves) and the set of all surfaces (curves) represented by implicit function. (which is which super-set?)

Sorry for the use of nontechnical terms. I use them because I don't know the technical ones. I have only started learning vector calculus last year in university.

EDIT: I think my question is not too clear, so I will give an example of writing the surface $f(x,y,z)=0$ into $\vec r(u,v)$ We want to parameterize a sphere. $$x^2+y^2+z^2-\rho^2=0$$ Let $x=\rho\cos(u)\sin(v)$, $y=\rho\sin(u)\sin(v)$, $z=\rho\cos(v)$, $$\rho^2\cos^2(u)\sin^2(v)+\rho^2\sin^2(u)\sin^2(v)+\rho^2\cos^2(v)-\rho^2$$ $$=\rho^2\sin^2(v)(\cos^2(u)+\sin^2(u))+\rho^2\cos^2(v)-\rho^2=\rho^2-\rho^2=0$$ I want to know if there is a general way of finding $x=x(u,v)$, $y=y(u,v)$ and $z=z(u,v)$ for any given $f(x,y,z)=0$

• For a result that (sort of) goes some distance toward answering your question, please see the Implicit Function Theorem. Aug 21, 2014 at 6:36
• Depends on what you precisely mean by parametrizing. What about disconnected sets like $xy=1$? Aug 21, 2014 at 6:37
• Yes, maybe I need to be clearer. For $xy=1$, you can obtain $y=\frac 1x$ Thus, $\vec r(t)=t\hat i+\frac 1t\hat j$ I want to know if there is a way to write any surface in the form of $f(x,y)=0$ into $\vec r(u,v)$ without writing $f(x,y)=0$ explicitly. Aug 21, 2014 at 9:00
• Sorry I mean $f(x,y,z)=0$ instead of $f(x,y)=0$ Aug 21, 2014 at 9:22

I'll answer your three specific questions for the case of curves. Surfaces are not much different.

Can all surfaces (curves) described by an implicit function be parameterized? (If yes, then what is the general way?)

(1) No. Every parametric equation $$t \mapsto \mathbf{x}(t)$$ gives you a connected curve (i.e. one piece), if the equations are continuous functions. This is a basic result from topology: the curve is the continuous image of a connected set and so is itself connected. But, on the other hand, it's easy to find equations of the form $$f(x,y)=0$$ that represent non-connected sets with multiple pieces. The curve $$xy = 1$$ is a simple example. In the cases where parametric equations can be obtained, there are various creative techniques for deriving them. I wouldn't say that there is any one "standard" technique.

If $$f(x,y)$$ is a polynomial, then the curve $$f(x,y)=0$$ can be parameterized using rational functions if and only if its genus is zero. So, curves of degree 1 (straight lines) and curves of degree 2 (conics) can always be parameterized. A cubic curve (degree 3) can be parameterized if and only if it has a double point.

Can all surfaces (curves) described by parametric vector equations be represented using implicit function? (If yes, then what is the general way?)

(2) In general, I don't know. But if the parametric equations are polynomials or rational functions, you can use elimination theory (specifically "resultants") to get an implicit equation. You can google these terms. As the degree of the functions goes up, the complexity of the algebra gets nasty pretty quickly, so you'll need a computer algebra system (like Maple or Mathematica) to work through the details

Compare the set of all parameterized surfaces (curves) and the set of all surfaces (curves) represented by implicit function. (which is which super-set?)

(3) For the case of rational (including polynomial) functions, parametric curves/surfaces are a subset of implicit curves/surfaces. If you're given parametric equations, and you want an implicit equation, then you can use resultants, as described in part (2).

All of this stuff belongs to the field of "algebraic geometry". Modern algebraic geometry probably won't help you much, but the textbooks written around the end of the 19th century were full of this sort of thing. For example, look at Salmon's "Lessons Introductory to the Modern Higher Algebra", written in 1885. For an easy-to-understand modern introduction, I recommend these notes. Chapters 17 and 18 cover conversion from parametric to implicit form very thoroughly; chapter 19 discusses the other direction, though rather briefly.

• Very informative! I will google those terms I don't know. Aug 23, 2014 at 6:15
• I have a problem regarding (1). How about I parameterize using discontinuous function? For example, the parameterization $<t,\frac 1t>$ What happen if we take this into consideration? Aug 23, 2014 at 6:43
• I feel like this is the right direction for an answer but doesn't really give 'the answer'. For 1) restrict to connected components. For 2) that is the other direction param to implicit, we want to go from implicit to parameterized. For 3) that is a true statement but doesn't say what the procedure is. Oct 9, 2018 at 12:52
• @Mitch. I think you misread part 2 of the OP's question (or I did). I think my answer to that part is appropriate. For part (3), the OP didn't ask for a procedure. But, anyway, the recommended procedure is to use resultants, as described in part (2). I modified my answer to point this out. Oct 10, 2018 at 12:26
• @bubba Thanks for the clarification and update. Reading things over and over, I realize that you really had already answered 2) and 3) (resultants) question. It's just that I was interested in 1) and I did misread. But I still feel like there is a partial answer to 1) either a subset (with some characteristics that are definable) where it is possible algorithmically, or at least a set of heuristics (in analogy with PDEs). What if you allow rational functions? Isn't that the right generalization? Oct 10, 2018 at 12:54

One famous example of how to obtain a parametric curve for (parts of) an implicit function is by Hamilton's equations. The "Hamiltonian" is your implicit function (which is not time dependent in this case). The system is therefore given by

$$\begin{cases} \frac{\partial x}{\partial t} &=& -\frac{\partial f}{\partial y}\\ \frac{\partial y}{\partial t} &=& \frac{\partial f}{\partial x} \end{cases}$$

together with some initial conditions. These equations guarantee that $f(x,y)$ is constant in $t$ so $(x,y)$ traces a level curve (or rather a parts thereof) of $f$. It is instructive to explicitly solve this system for $f(x,y) = x^2+y^2$ and $f(x,y)=xy$. In particular note that in the latter case only one of two connected components is obtained. More obstructions can occur if level sets have double points.

Even if solutions cannot be explicitly obtained (in closed form) Hamilton's equations are still of theoretical value and not only in physics.

For some polynomial equations there exist other —sometimes simpler— methods. For example for conic sections or cubics with a double point.

• Thanks! This looks completely new to me. I will try to google and understand it. Aug 21, 2014 at 9:07
• Hello! Do you know any simple methods for polynomial equations? I need to write a program that computes the explicit function from an implicit equation...I guess that that the method is to clear one variable, but do you have any reference I can read? Nov 14, 2016 at 19:51