The embedded torus in $\mathbb R^3$ can be described by the set of points in $(x,y,z)\in \mathbb R^3$ satisfying $T(x,y,z)=0$, where $T$ is the polynomial $T(x,y,z)=(x^2+y^2+z^2+R^2-r^2)^2-4R^2(x^2+y^2)$ for $R>r>0$.

Is it possible to find a polynomial that describes the sum of two (or $n$) tori? That is, is there a polynomial (or even a smooth function) $P$ such that the embedded double torus can be described as the set where $P(x,y,z)=0$?


2 Answers 2


Here is a general recipe for a polynomial whose level set is an $n$-torus in $\mathbb R^3$.

First, take the polynomial $$\begin{align}f(x) &= \prod_{i=1}^n (x-(i-1))(x-i) \\ &= x(x-1)^2(x-2)^2\cdots(x-(n-1))^2(x-n)\end{align}$$ which is positive as $x\to\pm\infty$, crosses zero at $x=0$ and $x=n$, and touches zero from below at $i = 1, 2, \ldots, n-1$. Examples: $n=1$, $n=2$, $n=5$.

Then let $$g(x,y) = f(x) + y^2,$$ so that the set of points $g(x,y)=0$ forms $n$ connected loops ($n=1$, $n=2$, $n=5$). Finally, define $$h(x,y,z) = g(x,y)^2 + z^2 - r^2,$$ which "inflates" the loops in three dimensions. For small enough $r$, the level set $h(x,y,z) = 0$ is an $n$-torus. For example, here's $n=2$ and $r=0.1$, for which the zero level set of $h(x,y,z) = \left(x(x-1)^2(x-2)+y^2\right)^2+z^2 - 0.01$ is plotted:

enter image description here

  • 1
    $\begingroup$ Could you please also plot the case n=3 and n=4. I don't get the desired results. For a $n$-torus, what is the desired $r$? $\endgroup$
    – Leo
    Sep 12, 2012 at 19:58
  • $\begingroup$ @Leo Here is a picture for $n=3$ produced in Mathematica. I tried to produce a picture for $n=4$ too, but I was not able to render the picture with enough plot points, this is the closest I got. The many small blobs should all be part of a single (very thin) band. $\endgroup$
    – Wojowu
    Jan 5, 2022 at 23:01
  • $\begingroup$ @Wojowu your links don't work $\endgroup$
    – Leo
    Jan 7, 2022 at 6:54
  • 1
    $\begingroup$ @Leo Weird, they work for me. Does this and this link work for you? $\endgroup$
    – Wojowu
    Jan 7, 2022 at 12:37
  • $\begingroup$ Yes, those links work. Cool pics! $\endgroup$
    – Leo
    Jan 16, 2022 at 19:57

Here's another way to obtain a "double torus": you can start from the implicit equation of a lemniscate, which is a curve shaped like a figure-eight. One could, for instance, choose to use the lemniscate of Gerono:


or the hyperbolic lemniscate, which is the inverse curve of the hyperbola:


(the famous lemniscate of Bernoulli is a special case of this, corresponding to the inversion of an equilateral hyperbola).

Now, to generate a double torus from these lemniscates, if you have the implicit Cartesian equation in the form $F(x,y)=0$, you can perform the "inflation" step of Rahul's approach; that is, form the equation


where $\varepsilon$ is a tiny number.

For instance, here's a double torus formed from the lemniscate of Bernoulli: $$((x^2+y^2)^2-x^2+y^2)^2+z^2=\frac1{100}$$

double torus from lemniscate

For surfaces of higher genus, one might want to use sinusoidal spirals instead as the base curve.

Yet another possibility to generate surfaces of genus $n\geq 2$ is to consider the surface $F_1(x,y,z)F_2(x,y,z)\dots F_n(x,y,z)=0$ where the $F_i$ are the implicit Cartesian equations for the usual torus, suitably translated and/or rotated. One can then replace $0$ with a tiny number $\varepsilon$.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .