# Hopf fibration

• October 20th 2009, 04:22 AM
PeterV
Hopf fibration
Hello,

I´m trying to draw a Hopf Fibration in a graphics program that I´m writing but I have trouble understanding the math behind it. I´m not a math student, I´m a graphics programmer and simply want to animate a Hopf torus bundle with all it´s interconnected circles. The only thing I know about complex numbers is the basic theory that I read in the past few days.

My problem is that although there are lots of websites that explain how a Hopf fibration is made, I cannot seem to find any that explains how to get the real x, y, z, w coordinates in 4D space of each of the circles. The explanations on the websites always start with complex numbers and end with complex numbers, but never explain how to get the coordinates.

One thing I don´t need further explanation for is how to do stereographic projection. I´ve done hypercubes and other 4D shapes in the past so I already know how to do projection.

Here is a scan of the math that I attempted so far:

http://www.home.zonnet.nl/petervenis/Hopf.gif

Now, I don´t know for sure if what I did above is correct. And if it´s correct, I don´t know what to do next. How do I solve the equation and get the coordinates so I can plot the circles?

Peter
• October 20th 2009, 05:23 PM
shawsend
See:

http://csunix1.lvc.edu/~lyons/pubs/hopf_paper_preprint.pdf

I believe you first map points on $S^2$to $S^3$ by the inverse function (t goes from 0 to 2pi):

$h^{-1}(p_x,p_y,p_z)=\left\{\frac{1}{\sqrt{2(1+p_x)}}\c dot\left(\begin{array}{c} -\sin(t)(1-p_x) \\
-\cos(t)(1+p_x) \\ p_y\cos(t)+p_z\sin(t) \\ p_z\cos(t)-p_y\sin(t)\end{array}\right)\right\}$

and then steriographically project $S^3\mapsto\mathbb{R}^3$:

$
(w,x,y,z)\mapsto\left(\frac{x}{1-w},\frac{y}{1-w},\frac{z}{1-w}\right)
$

Here's what I wrote in Mathematica for four points on $S^2$ and the resulting Hopf fibers projected onto $\mathbb{R}^3$

Code:

myPoints = {{1/4, 1/4}, {-4^(-1), 1/4},  {-4^(-1), -4^(-1)}, {1/4, -4^(-1)}}; mylist = Table[p1 = myPoints[[alpha,1]]; p2 = myPoints[[alpha,2]];     p3 = Sqrt[1 - p1^2 - p2^2]; wval[t_] = (1/Sqrt[2*(1 + p1)])*       ((-Sin[t])*(1 + p1)); xval[t_] = (1/Sqrt[2*(1 + p1)])*       ((-Cos[t])*(1 + p1)); yval[t_] = (1/Sqrt[2*(1 + p1)])*       (p2*Cos[t] + p3*Sin[t]);  zval[t_] = (1/Sqrt[2*(1 + p1)])*       (p3*Cos[t] - p2*Sin[t]);  {xval[t]/(1 - wval[t]),       yval[t]/(1 - wval[t]),  zval[t]/(1 - wval[t])}, {alpha, 1, 4}]; ParametricPlot3D[mylist, {t, 0, 2*Pi}]
• October 21st 2009, 09:05 AM
shawsend
Hey guys. I think this is so cool: Each point on the sphere ( $S^2$), gets transformed into a circle in $R^3$, so when I transform say 24 points on a circle on the sphere, it gets transformed into a "bundle" of circles with some interesting properties. In the Mathematica plot below, I used the "tube" option to show the circles as tubes in order to better illustrate the "fiber bundle" nature of this transformation. Not trying to take anything away from Peter. I like to plot things too and this is brand-new for me. :)
• October 21st 2009, 03:36 PM
PeterV
Thanks a lot for the help Shawsend.

It will take a while before I start plotting anything because I´m going to read the PDF first because I want to understand the math a bit before I draw anything.

That last mathematica plot you send, are you sure that is correct? If you plotted 24 points on a circle on the sphere you should get a perfect torus made out of circles. Your image looks deformed. Or did you take 24 points on a diagonal sphere?

The fun thing about this is that you can take thousands of points and make thousands of circles, but none of them intersect.

Thanks again for your help,

Peter
• October 21st 2009, 04:59 PM
aliceinwonderland
I watched this youtube clip a while ago, and it helped me to get some intuitive idea of fibration. I guess it also helps you to get some idea of how stereographic projection works.

YouTube - Dimensions - 8: Fibration [Pt. 2] 1/2 (part 2)
YouTube - Dimensions - 7: Fibration [Pt. 1] 1/2 (part 1)

If the above links are not working, search youtube with a title
"Dimensions - 7: Fibration [Pt. 1] 1/2"
• October 22nd 2009, 06:55 AM
shawsend
Quote:

Originally Posted by PeterV

That last mathematica plot you send, are you sure that is correct? If you plotted 24 points on a circle on the sphere you should get a perfect torus made out of circles. Your image looks deformed. Or did you take 24 points on a diagonal sphere?

Peter

I'm not sure. This is new for me. I took 24 points of a circle (on $S^2$) of equal latitude with r=1/2.
• October 22nd 2009, 09:50 AM
PeterV
Alice,

I´ve already seen those videos on the dimensions website about 20 times or so but never fully understood the math behind it, it was simply because one needs good knowledge about complex numbers and I know very little about that.

Shawsend,

It sounds like something is not right. Or perhaps it´s just the way you are projecting the circels? I´ve e-mailed the person today who made the videos on the dimensions website and he was so kind to write down the math for me. Here is a link: http://www.home.zonnet.nl/petervenis/Hopf-circles.pdf

His formulas are different but perhaps you used a different method. I´m slowly trying to figure out the math by reading more about complex numbers. I think I now have enough information to fill the gaps.

Again thanks,

Peter
• October 22nd 2009, 01:14 PM
Laurent
Shawsend uses a parametrization of the circles by points of $\mathbb{S}^2$, while the video and the manuscript parametrize the circles by the lines in $\mathbb{C}^2$ that go through the origin, or rather, more precisely, by their slope $a\in\mathbb{C}\cup\{\infty\}$. These two parametrizations can be naturally mapped to each other by stereographic projection.

Using the vocabulary of the video/manuscript: for any slope $a=\mathbb{C}\cup\{\infty\}$, the line $u=av$ intersects the unit sphere $\mathbb{S}^3$ of $\mathbb{C}^2$ along the set of points $(u,v)$ such that $|u|^2+|v|^2=1$ (sphere) and $u=av$ (line). (I leave the case $a=\infty$ aside)

From these equations we get $|a|^2|v|^2+|v|^2=1$ hence $|v|=\frac{1}{\sqrt{1+|a|^2}}$, and thus $v=\frac{e^{i\theta}}{\sqrt{1+|a|^2}}$ for some $\theta\in[0,2\pi)$ (because the complex numbers of modulus equal to $r$ are the numbers $r e^{i\theta}$, $\theta\in\mathbb{R}$).

Then $u=av=\frac{a e^{i\theta}}{\sqrt{1+|a|^2}}$. Conversely, such $u,v$ are on the sphere and the line, thus they describe exactly the whole intersection (which is a circle) when $\theta$ goes from $0$ to $2\pi$.

In order to visualize this circle, we map it to $\mathbb{R}^3$ via a stereographic projection (it has the nice property of mapping circles to circles/lines). We map the point $(u,v)=(u_1,u_2,v_1,v_2)$ to the plane of equation $v_2=-1$ using the point $(1,0,0,0)$ as the projection center. You can derive the formula for the 2-d situation (using Thales' theorem) and extend it to this case. It gives you the formulas from the manuscript page: $x=\frac{2u_1}{1-v_2}$, $y=\frac{2u_2}{1-v_2}$, $z=\frac{2v_1}{1-v_2}$. In Mathematica or wherever, you get $u_1,u_2,v_1,v_2$ as the real or imaginary parts of $u,v$ or directly use the formulas in terms of cos and sin from the page.

How to enjoy the Hopf fibration:

Everytime you choose a point $a\in\mathbb{C}$, you can plot the circle corresponding to $a$ using the above formula .

Nice things happen when you draw a whole family of circles, defined by points $a$ lying on a nice closed curve in $\mathbb{C}$.

Most notably, the circles corresponding to points $a$ on a circle centered at 0 (i.e. $a=Re^{i\phi}$ for $\phi$ varying from 0 to $2\pi$) generate a torus. And when the point $a$ varies along a circle not centered at 0, the circles generate a Dupin cyclid (like on Shawsend's plot), with a special case when the circle contains 0: this is the unbounded case, when the torus "swaps sides" in the video.

Examples: plot the circles in $\mathbb{R}^3$ corresponding to $a$ on the three circles of radius $\frac{\sqrt{3}}{2}$ and centers $1$ and $-\frac{1}{2}\pm i\frac{\sqrt{3}}{2}$ (those three centers are the vertices of an equilateral triangle and the circles are tangent to each other, hence the cyclids will have pairwise one common circle). Another very cool example is when $a$ goes around a square centered at 0. Anyone for a try?

These are just single examples; once you have programmed a function that draws the circle corresponding to a point in the complex plane, there's just so much to try...
• October 22nd 2009, 05:06 PM
aliceinwonderland
Quote:

Originally Posted by Laurent
Using the vocabulary of the video/manuscript: for any slope $a=\mathbb{C}\cup\{\infty\}$, the line $u=av$ intersects the unit sphere $\mathbb{S}^4$ of $\mathbb{C}^2$ along the set of points $(u,v)$ such that $|u|^2+|v|^2=1$ (sphere) and $u=av$ (line). (I leave the case $a=\infty$ aside)

There is a slight notational (typo?) error. $\mathbb{S}^4$ should be changed to a 3-manifold $\mathbb{S}^3$. Anyhow, I think your reply is helpful to people who are interested in this topic (Clapping)
• October 24th 2009, 07:42 AM
Laurent
Hi,

in case this would be of some interest to anyone, here are a few pictures I just made.

hopf_0b represents a few circles corresponding to points regularly chosen on a square of sidelength 2 centered at 0.
hopf_1 corresponds to points on the (non-disjoint) circles $|a-1|=2$, $|a-j|=2$ and $|a-\bar{j}|=2$ (i.e. $|a^3-1|=8$ in a single equation) where $j=e^{\frac{2i\pi}{3}}$.
hopf_2 and hopf_2c correspond to points on a circle centered at 0 (that differs in both cases), so that we get circles on a torus (which is shown on the last picture).
hopf_3b2 should help understand what the Hopf fibration looks like: I plotted simultaneously several tori like above, as well as the two limit cases, i.e. a horizontal circle (of unit radius) when $a=\infty$ and a vertical line when $a=0$. As one sees, when $|a|$ increases to $\infty$, the corresponding circle lies on a smaller torus (the tori are nested: like Russian dolls) which "converges" toward the horizontal circle (in dark blue).

To draw these pictures, I needed a few more datas I had to compute. My results follow (I guess they may be useful). I'll be assuming that you drop the 2's in the definition of the stereographic projection (which gives the stereographic projection on the equatorial plane).

The point $a\in\mathbb{C}\setminus\{0\}$ is mapped to the circle of radius $\sqrt{1+\frac{1}{|a|^2}}$ and center $\left(-\frac{a_2}{|a|^2},\frac{a_1}{|a|^2},0\right)$ in the plane $a_1x+a_2 y-|a|^2 z=0$ (i.e. orthogonal to $(a_1,a_2,-|a|^2)$).

The whole circle $|a|=r$ of $\mathbb{C}$ is mapped to the torus of minor radius $\frac{1}{|a|}$ and major radius $\sqrt{1+\frac{1}{|a|^2}}$.

NB: I used Scilab (but any programming language would have fitted) to generate Pov-Ray scripts.
• October 26th 2009, 11:08 AM
Laurent
Juste pour le plaisir...

Because any two circles are linked, the family of circles along a "line segment" between two distinct circles (i.e. corresponding to slopes $a$ on an open path (not a loop)) make a twice twisted strip (a Moebius strip is twisted only once). The following last two pictures illustrate this.

In order to have a symmetric pattern, I chose an open path through $a=\infty$. Namely the line segment $a=\lambda$, where $\lambda\in[1,+\infty)\cup(-\infty,-1]\cup\{\infty\}$. This gives one of the twisted strips of the first picture. The other other is given by the orthogonal line segment, along the imaginary axis. Their intersection is thus the circle for $a=\infty$, in blue on the picture.

Another closely related choice of segments (with cubic roots of unity) gives the other picture.

I hope you'll like it.
• October 26th 2009, 06:20 PM
shawsend
That last plot in the set of five really helps me understand what the Hopf Fibration is and now I understand what all the plots are: Each contour in a-space, is a subset of the fibration with the specific circles choosen according to the values of a. Mathematica crashes when I attempt to draw more than a few with tubes although I can get pretty good results with just lines. Those are really nice plots :) (Bow)