Parametric Hopf torus

Posted on August 25, 2018 by Stéphane Laurent

Identify \(S^3\) with the unit quaternions and \(S^2\) with the unit quaternions with a null \(i\)-part component. Then the Hopf map is expressed as \[ \begin{cases} \Pi \colon & S^3 \to S^2 \\ & q \mapsto \tilde{q} q \end{cases} \] where the quaternion \(\tilde{q}\) is obtained from \(q\) by negating its \(i\)-th component.

Choose a curve \(p \colon [a,b] \to S^2\) and a lift of \(p\), that is a map \(y \colon [a,b] \to S^3\) such that \(p = \Pi \circ y\).

For our illustration, we will take the closed curve \(p \colon [0,2\pi] \to S^2\) defined by \[ \begin{cases} p_1 \colon t \mapsto \sin\bigl(h\cos(nt)\bigr) \\ p_2 \colon t \mapsto \cos(t)\cos\bigl(h\cos(nt)\bigr) \\ p_3 \colon t \mapsto \sin(t)\cos\bigl(h\cos(nt)\bigr) \end{cases} \] where \(n\) is an integer.

The lift is easy to get: simply take \[ y(t) = \frac{\bigl(1+p_1(t),0,p_2(t),p_3(t)\bigr)}{\sqrt{2\bigl(1+p_1(t)\bigr)}}. \]

Let’s check:


The Hopf cylinder of \(p\) is then \((t,\phi) \mapsto e^{i\phi}y(t)\), and we say it’s a Hopf torus when the curve \(p\) is closed. This is a parametric representation of a Hopf torus.

Here, the integer \(n\) determines the number of lobes of the Hopf torus, and
the parameter \(h\) controls the shape.

Now, apply the function \((t,\phi) \mapsto e^{i\phi}y(t)\) and then apply the
stereographic projection.

Below is a R code after we got rid of the quaternions.

Now we can use the misc3d package to plot the projected Hopf torus.

Since I like Asymptote, I also provide the Asymptote code.

And I also like three.js: