Discover Science: The Hopf Fibration

Or: Qcy in the Sky with 4 Dimensions

By Ingo Dahn


With this notebook we make a first step to explore a 4-dimensional space using the Hopf fibration. On this journey we shall roughly follow the arguments in David. W Lyons introduction to the Hopf fibration, supporting these arguments with calculations and interactive experiments.

This material is available as a Jupyter notebook or as a website. Jupyter notebooks require a runtime environment (as provided e.g by CoCalc) while websites make use of the SageCell computational services.

Since computations may rely on the results of previous computations, it is important that all computations are carried out in the sequence they are given. Some of the cells contain program code. The reader is not required to understand the program code in these cells. However, the reader is encouraged to locate the relevant mathematical fomulas in the code and to experiment by changing the values of input variables: Interactive animations made with Geogebra hide their code base. The reader can experiment with these animations using the mouse instead of editing code. These animations can also be downloaded and edited from the Geogebra website using the links provided.

Discover Science is a series of interactive articles exploring selected subjects through questions and experiments. Questions are emphasized in bold face. Readers are encouraged to explore their own questions using the tools provided in the article. Discover science does not aim to deliver ultimate precision and complete proofs. These can be found in various papers, like those cited in Lyons paper mentioned above. In particular, we take the freedom to delegate formal computations to the computer as well as using geometric arguments based on the readers experimental experience.

How to Travel 4D Space?

Humanity has been contacted by an alien from a parallel world! Humans called it (him/her?) Qcy as an abbreviation for Curiosity. Qcy is a 4-dimensional being, living on a planet named S3S^3 in a 4-dimensional space. S3S^3 is located at a location with the coordinates (0,0,0,0)(0,0,0,0), called the origin and has radius 1.

On earth, as long as noone was travelling, it was natural to assume that the surface of the earth is a 2-dimensional plane. Travelling and explorations where key to discover the curvature of the earth, for seeing ships rising from below the horizon and to calculate the radius of the earth by comparing observations of the sun from distant locations.

But Qcy cannot travel around on his planet without our help. He is curious to explore whether the surface of S3S^3 is indeed the 3-dimensional ball which it can see ( just like location-bound people on earth percieve the surface of planet earth as a 2-dimensional disk)or just a local impression of a local neighbourhood on a 4-dimensional curved surface.

And, perhaps, Qcy isn't that much different from us and our 3-dimensional planet is an illusion as well while we are really living on a 4-dimensional surface which we cannot experience sind we cannot travel far in a hidden direction? We must help Qcy with all the human travelling experience - navigation expertise, coordinates, maps etc!

Mathematicians have developed the technology to help Qcy. It is based on a material called Quaternion and consists of three parts:

  1. A sphere S2S^2 on earth that we can use as a controller - like a joystick or trackball - to control Qcys travel on the surface of S3S^3

  2. An uplink channel, called Hopf fibration, to send travel instructions to Qcy

  3. A downlink channel, called stereographic projection to observe and track Qcys travel.

Now that the technology is at hand, it is our job to build it, test drive it and to guide Qcy on its travel around S3S^3.

Let us start by collecting Quaternions.

What are Quaternions?

You may have heard of Complex numbers. Complex numbers are numbers of the form a+bia+bi where aa and bb are real numbers and ii is a non-real number. Addition and multiplication of real numbers are determined by the rules of commutatiovity, associativity, distributivity and the additional rule i2=1i^2 = -1.

In 1833, the Irish mathematician William R. Hamilton (1805-1865) looked at complex numbers a points in a plane, interpreting a+bia+bi as the point with coordinates (a,b)(a,b). In particular 11 corresponds to (1,0)(1,0) and ii corresponds to (0,1)(0,1). The absolute value (norm) of a+bia+bi can be defined as a+bi=a2+b2||a+bi||=\sqrt{a^2+b^2} - the Euclidean distance of the point (a,b)(a,b) from the origin (0,0)(0,0). The set of all complex numbers of norm 1 defines the unit circle S1S^1.

It is easy to check that (a+bi)(abi)=a2+b2=a+bi2(a+bi)\cdot (a-bi)= a^2+b^2=||a+bi||^2 and hence abia-bi is a multiplicative inverse of a+bia+bi if a+bia+bi has norm 1. abia-bi is called the conjugate of a+bia+bi and denoted by a+bi\overline{a+bi}. Knowing the multiplicative inverse of normed complex numbers, you can check that for each complex number z0z\neq 0 the complex number zˉz\frac{\bar{z}}{||z||} is the multiplicative inverse of zz.

Hamilton was fascinated by the possibilities of calculating with points in a plane, interpreted as complex numbers. He asked the obvious question: Can we multiply and divide with points in space as well?

Hamilton tried for 10 years to find an answer. He wrote about that time to one of his sons:

Every morning in the early part of the above-cited month, on my coming down to breakfast, your (then) little brother William Edwin, and yourself, used to ask me: “Well, Papa, can you multiply triplets?” Whereto I was always obliged to reply, with a sad shake of the head: “No, I can only add and subtract them.

But October 16th 1843 on a walk in Dublin passing Broom Bridge, he suddenly saw what was almost an answer to the question, not for points in R3\R^3 but R4\R^4 and sacrificing the commutativity of multiplication.

Points in 4-dimensionals space R4\R^4 can be described by 4 coordinates (a,b,c,d)(a,b,c,d) which can be interpreted as a new kind of numbers - named Quaternions of the form a+bi+cj+dka+bi+cj+dk. Hamilton suddenly realised that quaternions allow for multiplication and division if the multiplication of i,j,ki,j,k is governed by the equations i2=j2=k2=ijk=1.i^2=j^2=k^2=ijk=-1. Hamilton was so fascinated by his discovery that he engraved these equations into the stone of Broom Bridge, where it still can be seen today.

Note that Hamiltons equations imply that, for example, k=(ijk)k=ij(kk)=ij-k=(ijk)k=-ij(kk)=-ij and hence ij=kij=k. Similarly we get

ij=k,  jk=i,  ki=jij = k,\ \ jk = i,\ \ ki = j


ji=k,  kj=i,  ik=j.ji = -k,\ \ kj=-i,\ \ ik=-j.

Note that i,j,ki,j,k only commute with real numbers, but not with each other.

The non-commutativity of multiplication is the only property that makes quaternions different from a field - it is a so-called division ring or skew field. This non-commutativity has some unexpected consequences, among them that a polynomial equation over the quaternions (like x2+1=0x^2+1 = 0) can have more distinct solutions than the degree of the polynomial.

Calculating with quaternions is not difficult, but can be tedious and errors are easy to make. Fortunately, this notebookWe runs an online computer in the background that can do these calculations for us.

As a first step we configure it to treat i,j,k as the non-real units in the skew field of quaternions with real coefficients.

Activity: Modify the cell above to test the associativity of quaternion multiplication, i.e. calculate (pq)r(pq)r and p(qr)p(qr) and compare them. Alternatively, test thet (pq)rp(qr)=0(pq)r-p(qr)=0.

You may get symbolic expressions (formulas) as coefficients instead of real numbers. Such expressions ex can be converted into numeric values with the n() method as exp.n().

Prove the associativity of quaternion multiplication.

The following definitions of Conjugate and Norm generalize the respective definitions for complex numbers. The conjugate of a quaternion r=a+bi+cj+dkr = a + bi + cj + dk, denoted rˉ\bar{r}, is defined as rˉ=abicjdk\bar{r} = a − bi − cj − dk.

The norm of a quaternion rr, denoted r||r||, is its length as a vector in R4\R^4, i.e. r=a2+b2+c2+d2||r|| =\sqrt{a^2+b^2+c^2+d^2}.

SageMath, the system that powers the background computer of this notebook, provides the reduced_norm method to calculate the square of the norm. We use this to define the norm as nn and qnormed(x) as the normalized quaternion x.

So for a quaternion r=a+bi+cj+dkr=a+bi+cj+dk:

x.reduced_norm() =a2+b2+c2+d2= a^2+b^2+c^2+d^2


As for complex numbers, the norm of a product of quaternions equals the product of their norms: xy=xy||x\cdot y||=||x||\cdot ||y||

It can be proved that making a Euclidean vector space into a division ring satisfying this equation for all vectors xx and yy is only possible for vector spaces of dimension 1,2,4 and 8. That explains why Hamilton could not divide triplets!

The following cell provides functions to compute conjugate, norm and the normalized quaternion qnormed(x)=xxqnormed(x)=\frac{x}{||x||}. It defines the function nn(x) to calculate x|| x ||.

Sage can also calculate with real variables as coefficients (note that this overrides the previous definition of r):

Without being a definive proof, the previous cell demonstrates that rrˉ=r2.r\cdot \bar{r} = ||r||^2. and hence r1=rˉr2.r^{-1}=\frac{\bar{r}}{||r||^2}. This explains, why the conjugate of rr is the multiplicative inverse just for quaternions with norm 1.

The product of two of these normalized quaternions is again normalized. Thus normalized quaternions form a non-commutative group with 1 as unit, multiplication as group operation and conjugation as inverse.

We may exploit these properties to describe Qcys location (a,b,c,d)(a,b,c,d) on its planet S3S^3 as a normalized quaternion a+bi+cj+dka+b i+ c j + d k.


With the multiplication rules i2=j2=k2=1,ij=k,jk=i,ki=j,ji=k,kj=i,ik=ji^2=j^2=k^2=-1, ij=k, jk=i, ki=j, ji=-k, kj=-i,ik=-j quaternions form a skew field with a Euclidean norm satisfying rs=rs||r\cdot s||=||r||\cdot||s||.

S3S^3 can be described by the set of all normalized quaternions.

Normalized quaternions form a non-abelian group under multiplication.

If rr is normalized, 1r=rˉ\frac{1}{r}=\bar{r}.

Side Question: How many quaternions satisfy x2=1x^2=-1?

In the field of complex numbers, each quadratic polynomial has at most two solutions. In particular x2=1x^2=-1 has the solutions ii and i-i.

In the skew field of quaternions, this equation has at least the 6 solutions i,i,j,j,k,ki,-i,j,-j,k,-k.

Let tt be a real number and let us calculate (icost+jsint)2=cos2t+ijcostsint+jisintcostsin2t=cos2tsin2t=1(i\cos{t}+j\sin{t})^2=-\cos^2{t}+ij\cos{t}\sin{t}+ji\sin{t}\cos{t}-\sin^2{t}=-\cos^2{t}-\sin^2{t}=-1 since ij=kij=k and ji=kji=-k. Thus for each tt the quaternion icost+jsinti\cos{t}+j\sin{t} is a solution of x2=1x^2=-1 - this equation has infinitely many quaternion solutions.

Activity: Consider a quaternion pp of the form p1i+p2j+p3kp_1i+p_2j+p_3k, i.e. with real part 0 and another quaternion r=a+bi+cj+dkr=a+bi+cj+dk which is normed. For these quaternions calculate q=rprˉq=r\cdot p \cdot \bar{r}. In particular consider the case r=(a+k)/a+kr=(a+k)/||a+k|| for various values of aa.

The following cell does these calculations for you. Experiment and explore the following questions.

  • Vary the point pp, in particular use a multiple or fraction of all its coordinates How does this chnge qq?

  • Compare the last coordinates of pp and qq

  • Draw the points, defined by the 2 middle coordinates of pp and qq in a coordinate grid on paper. What do you note?

  • When you did this experiment with a=0,a=12,a=22a=0, a=\frac{1}{2}, a=\frac{\sqrt{2}}{2} - can you predict the result for a=32a=\frac{\sqrt{3}}{2}?

  • How will these results change, when you use jj or ii instead of kk?

Answers: As we shall see below, the mapping prprˉp\mapsto rp\bar{r} defines a rotation of the ijij-plane around the kk-axis. The first coordinate of r corresponds to the angle of rotation.

The Controller (Rotations and Quaternions)

As first component to support Qcy we build the controller on earth. It consists of a sphere S2S^2 of radius 1 around the 3D origin (0,0,0)(0,0,0) with a designated point P=(p1,p2,p3)P=(p_1,p_2,p_3) on it, marking Qcys position (Sidenote: Probably this is not going to work, as Qcy has one more coordinate, but let's ignore that for the moment). PP can be moved from a starting point - we delibarately chose (1,0,0)(1,0,0) by rotating S3S^3.

A trivial rotation is the identity which does not move any point. Any direction can be taken as axis of the trivial rotation with rotation angle 0.

We agree that an axis of a rotation will be described by a vector and that rotations will always be counterclockwise for positive angles, and clockwise for negative angles, when viewed from the tip of this vector. Note that there are many ways to describe the same rotation this way. Multiplying the vecor, describing the rotation axis with any positive number will not change the described rotation. Also adding a positive integer multiple of 2π2\pi respectively of 360360^\circ to the size of the anglewill not change the rotation and the same holds if the axis vector as well as the rotation angle are multiplied by 1-1. We can get a unique representation of a nontrivial rotation if we demand further that the rotation angle is described by a number θ\theta such that 0<θ<2π0<\theta < 2\pi and the vector has length 1.

Note: The 4 numbers we use to describe a rotation are less than the 9 numbers required in linear algebra to decribe an arbitrary linear transormation in R3\R^3. You will see that the 4 coefficients of a quaternion can provide an elegant way for describing rotations.

Activity: Let us start by building a model of an ordinary trackball. The blue point PP on the sphere can be grabbed with the mouse and moved. The green arrow shows the axis of a rotation taking the black start point S=(1,0,0)S=(1,0,0) to the position of PP along a great circle of the sphere. Note the trace of the axis when PP is moved, What do you observe? Can you explain your observation?

Instructions: The applet has been build with GeoGebra. Drag with mouse to rotate. Grab objects with mouse to select. Scroll the input bar on the left side to see the shaded field for the selected object. Right-click to see the definition of the object and more options. Note that the definitions in this applet are coordinate-free.

View in Geogebra

Answer hint: No matter where you put PP - the axis is always in a specific plane. Why? And in which plane?

The best way to understand at a rotation is to look at it from a perspective along the axis.In the applet above, the axis of the rotation is perpendicular to the plane defined by the point S,OS,O and PP. The rotation angle is SOPSOP.

But there are more rotations taking a point SS to a given other point PP. Among those is always one rotation of 180°.

Activity: Look at the 180° rotations taking SS tp PP. Move PP and observe the axis of the rotation. What do you note?

Answer Hint: The axis of the 180 degree rotation is the bisection of the angle SOPSOP.

So we have found two rotations taking SS to another point PP: One of 180° (π\pi) the axis of which is the bisection of the angle SOPSOP (we shall name this rotation R1R_1) and another rotation with the angle SOPSOP around an axis perpendicular to the plane defined by S,OS,O and PP - we name this R2R_2.

Rotations of the trackball (the unit sphere S2S^2) can be combined into a unique rotation R3=R2R1R_3=R_2\circ R_1 such that for each starting point SS2S\in S^2 we have R3(P)=R2(R1(S))R_3(P)=R_2(R_1(S)).

If R1R_1 and R2R_2 have the same axis vector, then this is also the axis of their combination R3R_3 and the rotation angle of R3R_3 is the sum of the rotation angles of R1R_1 and R2R_2. What about the general case?

Given two rotations R1,R2R_1,R_2 of the trackball S2S^2 by their axes and rotation angles - how can we calculate the axis and rotation angle of their combinations R2R1R_2\circ R_1?

Can you come up with an approach to answer this question?

Answer Hint: It is plausible that the combination of rotations is associative (i.e. R3(R2R1)=(R3R2)R1R_3\circ(R_2\circ R_1)=(R_3\circ R_2)\circ R_1), that each rotation has an inverse rotation and that the trivial rotation is a unit w.r.t to combination of rotations. That means: Rotations of S2S^2 form a a group.

Rotations of the unit circle S1S^1 in the xyxy-plane around the origin all have an axis orthogonal to it - the zz-axis - and they can be easily combined by adding their rotation angles. Therefore, the group of rotations of S1S^1 is commutative (abelian). For S2S^2 it is more complicated:

Consider counter-clockwise rotations R1,R2R_1,R_2 of 90 degrees around the y,zy,z-axis respectively. R1R_1 puts the point S=(1,0,0)S=(1,0,0) onto the zz-axis where R2R_2 doesn't affect it. Similarly, R2R_2 puts this point onto the yy-axis, where it is not affected by R1R_1. We have R2R1(S)=(0,0,1)(0,1,0)=R1R2(S)R_2\circ R_1(S)=(0,0,1)\neq (0,1,0)=R_1\circ R_2(S) - R1R_1 and R2R_2 do not commute. The group of rotations of S2S^2 is non-abelian!

Admittedly, this doesn't answer the question. But quaternions will provide us with an elegant solution.

We encode points in R3\R^3 by using their coordinates as coefficients of the non-real part of a quaternion, i.e. the point with coordinates (x,y,z)(x,y,z) is encoded by the quaternion xi+x i+ y j + zkz k. Such quaternions with real part 0 are called pure.

With this encoding, each point of the unit sphere S2S^2 is encoded by a normalized pure quaternion.

Here comes the main trick: When rr is any normalized quaternion (not necessarily pure) the mapping Rr:prpr1R_r : p \mapsto rpr^{-1} defines a norm-preserving linear mapping on the set of pure quaternions pp and hence a rotation of R3\R^3 around the origin. (Check!). In particular RrR_r defines a rotation of S2S^2.

If kk is any real number, then it is easy to check that for all pp we have Rkr(p)=Rr(p)R_{kr}(p)=R_r(p). Therefore, if r0r\neq 0, by taking k=1rk=\frac{1}{||r||} we can assume without loss of generality, that rr is normalized.

The following cell defines the function Rr(x,y,z)=r(xi+yj+zk)rˉR_r(x,y,z)=r(xi+yj+zk)\bar{r} with the quaternion rr as parameter. It is assumed that rr is normalized, hence 1r=rˉ\frac{1}{r}=\bar{r}., while pp is not required to be normalized.

The second argument is a triple p which is converted to a quaternion pp Then the tuple of coefficients of the quaternion r*pp*r.conjugate() are returned, after its first element (which is 0) has been removed.

Try to calculate the value of some tuples for various quaternions r, in particular for ii, represented by the tuple (1,0,0)(1,0,0), jj represented by (0,1,0)(0,1,0) and kk, represented by (0,0,1)(0,0,1)

For each map, in Mathematics one of the first question asked is for fix points. The fix points of a rotation form the axis of the rotation. Assume a is the real part of rr, i.e. rar-a is pure (has real part 0). Then Rr(ra)=r(ra)rˉ=rrrˉrarˉ=raR_r(r-a)=r(r-a)\bar{r}=rr\bar{r}-ra\bar{r}=r-a, hence rar-a - the pure part of rr - is on the axis of the rotation encoded by RrR_r; if r=a+bi+cj+dkr=a+bi+cj+dk, then the vector (b,c,d)(b,c,d) defines the axis (assumned thar r±1r \neq \pm 1, i.e. we have a nontrivial rotation). Let us build a device to see the axis of a rotation defined by a quaternion..

The following cell shows the point S=(1,0,0)S=(1,0,0), represented by the quaternion ii, the axis (in green) of the rotation defined by RrR_r for the quaternion r=qnormed(a+bi+cj+dk)r=qnormed(a+bi+cj+dk), and the point PP to which SS is taken. The unit sphere S2S^2 is shown in yellow.

Activity: Experiment with different values for the axis (b,c,d) and for a. What influence has the change of a?. Can you add a second point S_1 and add its image P_1 to the plot?

Move the plot with the mouse to see the rotation from the perspective defined by the axis.

Answer Hint: The non-real part of the quaternion rr defines the axis of the rotation. You may have notices that the real part corresponds to the angle of the rotation, but in which way?

When we have source SS, defined by a quaternion w=xi+yj+zkw=x i+ y j + z k, in a plane perpendicular to the axis (b,c,d)(b,c,d) of rotation, we can use the scalar product between SS and the rotation target PP, defined by Rr(w)R_r(w), to determine the angle of rotation:

We distinguish two cases.

Case 1: b=c=0b=c=0, i.e. r=a+dkr=a+dk We let w=iw=i, i.e. x=1,y=0,z=0x=1,y=0,z=0. The scalar product bx+cy+dzbx+cy+dz is 0, so ww is perpendicular to the axis.

Case 2: b0b\neq 0 or c0c\neq 0. In this case we take w=cibjw=ci-bj The corresponding vector (c,b,0)(c,-b,0) is orthogonal to the axis (b,c,d)(b,c,d)

In each case we get for the rotation angle θ\theta cosθ=wRr(w)w2=a2b2c2d2=2a21.\cos \theta = \frac{w\cdot R_r(w)}{||w||^2} = a^2-b^2-c^2-d^2 = 2a^2-1.

Since cos(2θ2)=2cos2(θ2)1\cos(2\frac{\theta}{2}) = 2\cos^2(\frac{\theta}{2}) -1 we claim that a=cosθ2a=\cos\frac{\theta}{2}.

The following cell provides functions to calculate axis and rotation angle defined by a quaternion.

Summary: We have seen that points on S3S^3 describe rotations of S2S^2 through the map rRrr\mapsto R_r where the real part encodes the rotation angle and the vector part defines the rotation axis is a.

A survev of various ways to describe rotations is available at Wikipedia.

Suddenly, using quaternions, combining rotations becomes so easy: When we have two rotations given by their axes and rotation angles - each encoded by a quaternion r,sr,s respectively, where the rotation angle provides the real coefficient and the axes coordinates provide the non-real coefficients, then we get the quaternion for the compbined rotation

RrRs(p)=r(spsˉ)rˉ=(rs)p(sˉrˉ)=(rs)prs=Rrs(p)R_r\circ R_s(p)=r(sp\bar{s})\bar{r}=(rs)p( \bar{s} \bar{r})=(rs)p \overline{rs} = R_{rs}(p)

just by multiplying rr and ss. Then we can read off the rotation angle and axes from the product's coefficients.


Sidequestion: How does this apply to rotations od S1S^1 - the unit circle?

We can describe S1S^1 as {(x,y,0)R3:x2+y2=1}{(x,y,0)\in \R^3 : x^2+y^2=1}. Rotations of S1S^1 map the unit circle onto itself. Their axes must be perpendicular to the xyxy-plane. Therefore, a rotation of S1S^1 with rotation angle θ\theta, can be described as rotation of S2S^2 around the zz-axis, defined by a quaternion of the form cosθ2+dk\cos{ \frac{\theta}{2}}+dk such that cos2θ2+d2=1{\cos^2{\frac{\theta}{2}}}+d^2=1. Thus d=±sinθ2d=\pm \sin{\frac{\theta}{2}}.

The following cell verifies that the rotation of the unit circle S1S^1 defined by a quaternion r=cosθ2+sinθ2kr=\cos \frac{\theta}{2}+\sin \frac{\theta}{2}k indeed takes (1,0,0)(1,0,0) to (cosθ,sinθ,0)(\cos \theta, \sin \theta,0).

What has all this to do with group theory?

We came across the following groups.

  • The group SO(3)SO(3) of rotations of R3\R^3

  • The group of unit quaternions, with multiplication. Unit quaternions can be identified with points on S3S^3,

  • φ:S3SO(3)\varphi:S^3\rightarrow SO(3) given by rRrr\mapsto R_r is a group homomorphism.

Activity: Show that the kernel of this homomorphism, i.e. {r:Rris the identity mapping}{r : R_r \text{is the identity mapping}} is {1,1}{-1,1}.

Hint: The unit quaternion rr is in the kernel of φ\varphi if and only if rp=prrp=pr for all pure quaternions pp. Apply this for p=ip=i and p=jp=j to show that rr in the kernel must be a real number. The only real numbers on S3S^3 are -1 and 1. Do you recll that this implies that each rotation can be described by exactly two quaternions which are rr and r-r for some rS3r\in S^3.

Each position of our trackball controller is characterized by 3 coordinates but Qcys position on S3S^3 requires 4. So - how can we get from our controllers position useful location information for Qcy?

One possibility might be, to transmit the 4 coefficients of the quaternion of the overall rotation that we performed moving SS to PP. But in reality, our movement of the controller may be a sequence of many small rotations into different directions and with different angles. Keeping track of the overall rotation would be quite difficult for us. That's why we look for a different solution.

In order to deal with the imprecision of the §D trackball movement w.r.t. Qcys 4D coordinates, let us first explore, how imprecise we actually are.

In the applet below, the points PP and AA can be moved on the sphere. The green circle visualizes a rotation of the fixed point S=(1,0,0)S = (1,0,0) around the green axis. AA is a point where that axis passes through the unit sphere.

Grab point A with the mouse and adjust the axis so that the rotation takes SS to PP.

When you have found a rotation that moves S to P - where is the axis? How many rotations can you make up that take SS to PP?

The axis of each rotation taking SS to PP lies in the green plane through the origin, bisecting the angle SOP.SOP.

Try to position the axis in the green plane such that the radius of the circle connecting SS and PP is maximal (great circle) or minimal. What is the position of the axis w.r.t the plane containg O,S,PO,S,P?

For each target position PP of the controller there are many rotations taking SS to PP and as many quaternions describing these rotations.Let us explore them!

If a rotation defined by a unit quaternion r=a+bi+cl+dkr=a+bi+cl+dk takes the start point S=(1,0,0)S=(1,0,0) encoded by ii to a point P=(u,v,w)P=(u,v,w), then r(a+bi+cj+dk)rˉ=ui+vj+wkr(a+bi+cj+dk)\bar{r} = ui+vj+wk. What does this mean?

Thus, for each unit quaternion r=a+bi+cj+dkr=a+bi+cj+dk the corresponding rotation takes (1,0,0)(1,0,0) to a point defined by h(a,b,c,d)=(a2+b2c2d2,2(ad+bc),2(bdac))h(a,b,c,d) = (a^2+b^2-c^2-d^2, 2(ad+bc),2(bd-ac)) hh is called the Hopf mapping, discovered by Heinz Hopf in 1927.

The pre-image of a particular value PP under a map hh is called the fiber of PP under hh - in our case the Hopf fiber of PP! Each point of the domain of hh, S3S^3, belongs to exactly one fiber.


For each point PP on S2S^2 there are many rotations moving SS to PP.

Each of these rotations is defined by a normed quaternion rr where the real coefficient is cosθ2\cos{\frac{\theta}{2}} where θ\theta is the angle of rotation and the other coefficients define the axis of the rotation.

For a quaternion rr defining a rotation, the pure quaternion Rr(i)=rirˉR_r(i)=ri\bar{r} defines the coordinates of the target point PP to which the starting point S=(1,0,0)S=(1,0,0), encoded by ii, is taken.

The axes of all rotations of S2S^2 taking SS to PP are located in the plane through the origin, bisecting the segment SP\overline{SP}.

The set of all quaternions (i.e. ponts on S3S^3, defining rotations of S2S^2 that take SS to PP, is the Hopf fiber of PP - the pre-image of PP under the Hopf mapping.

How does the Hopf fiber of a point PS2P\in S^2 look on S3S^3?

There are two special rotations taking SS to PP for which the angle of rotation is easy to compute:

A rotation R1R_1, defined by a quaternion r1r_1, with the axis in the plane containing S,PS,P and the origin OO.

A rotation R2R_2, defined by a quaternion r2r_2, with the axis orthogonal to the plane through S,PS,P and OO.

These are shown in red in the following applet. Chose a view along the axes for the best view on the respective angles of rotation!

See in Geogebra

Did you note that the axes of the rotations defined by r1,r2r_1,r_2 are in the plane through the origin bisecting PSPS and that they are orthogonal to each other?

Did you note, that the coefficients of r1r_1 and r2r_2 are similar? It is worth exploring why this is the case..

Test the calculation in the following cell with the coefficients of r1,r2r_1,r_2 from the applet.

You may conjecture that r2i=r1r_2 i = r_1 and rii=r2.r_i i = - r_2.

You may want to verify the rotations defined by rr and rir i take (1,0,0)(1,0,0) to the same target and that the axes of the respective rotations are orthogonal.

Now that we know two specific rotations (quaternions) taking SS to PP, can we determine all those rotations (quaternions), i.e. the Hopf fiber of PP?.

We have already seen, that all axes of rotations moving SS to PP are in the same plane and thus pass through the great orange circle in the previous app. In the complex plane, each point of the unit circle is defined by a complex number of the form cost+isint=eit\cos{t} + i \sin{t} = e^{it}. In fact,for any point SS defined by a complex number zz, the product (cost+isint)z(\cos{t} + i\sin{t})z defines the point obtained from SS by rotating the plane around the origin by an angle tt. Why not try something similar to characterize the Hof fiber cycling through the orange circle?

Curiosity suggests asking: What does multiplication with a complex number eite^{it} does to a quaternion rr?

eite^{it} is also a unit quaternion and hence describes a rotation of S2S^2 too. The rotation angle of this rotation is 2t2t. The axis of the rotation is (sint,0,0)(\sin{t},0,0).

Let us consider how the rotation reitre^{it} acts on S=(1,0,0)S=(1,0,0) represented by ii if rr is in the Hopf fiber of PP. . Rreit(S)=(r(cost+isint)ir(cost+isint)=r(cost+isint)i(costisint))rˉ=rirˉ=Rr(S)R_{re^{it}}(S) = (r(\cos{t}+i\sin{t})i\overline{r(\cos{t}+i\sin{t})}=r(\cos{t}+i\sin{t})i(\cos{t}-i\sin{t}))\bar{r}=ri\bar{r}=R_r(S)

since ii commutes with cost+isint\cos{t}+i\sin{t} and its inverse.

So the rotation RreitR_{re^{it}} takes SS to PP, if RrR_r does, i.e. reitre^{it} is in the Hopf fiber of PP if rr is.,

Conversely, if q,rq,r are normalized and in the Hopf fiber of the same point PP, then rirˉ=P=qiqˉri\bar{r}=P=qi\bar{q} and therefore rirˉq=qi,ri\bar{r}q=qi, irˉq=rˉqii\bar{r}q=\bar{r}qi i.e. rˉq\bar{r}q commutes with ii. Let rˉq=a+bi+cj+dk\bar{r}q = a+bi+cj+dk.

Since this difference must be 0, cc and dd must be 0 and hence a2+b2=1a^2+b^2=1, i.e. rˉq=cos(t)+sin(t)i=eit\bar{r}q=\cos(t)+\sin(t)i=e^{it}, and qq must be of the form reitre^{it} for some real tt.

Thus the Hopf fiber of a point PS2P\in S^2, can be described as h1(P)={reit}0t2πh^{-1}(P)= {r e^{it}}_{0\leq t\leq 2\pi} where rr is any quaternion in the fiber - if we know one such quaternion rr, we know all of them!

In particular, the Hopf fiber contains the quaternions rr (for t=0t=0), r-r (for t=πt=\pi), riri (for t=π2t=\frac{\pi}{2}) and ri-ri (for t=3π2)t=\frac{3\pi}{2}). All points of the fiber, described by these quaternions, have distance 1 from the origin.

Thus the Hopf fiber is a great circle of S3S^3in a plane determined by the origin and the points rr and riri,

Can we determine axes for rotations taking SS to PP? The axis of the rotation for Rr1eitR_{r_1 e^{it}} can be obtained from the axis for r1r_1 by rotating it by an angle of tt (do you recall that multiplication of quaternions corresponds to combination of rotations?).

In the following applet, the axes for the rotations R1,R2R_1,R_2 are shown in red where

  • R1R_1 is the rotation with the axis bisecting SP\overline{SP} and a rotation angle of π\pi and R2R_2 and
  • R2R_2 is the rotation with the axis perpendicular to the plane SOPSOP and a rotation angle equal to the angle SOPSOP.

The variable tt lets a point R1R1' move around the sphere in a great circle, marking the axes of other rotations that take SS to PP. Thus the red circle visualiizes the action of the rotation defined by the quaternion r1eitr_1e^{it} on SS and PP, with the respective quaternions cycling through the Hopf fiber of PP.

Use the scrollbar of the input bar on the left and scroll up to the third object, being the variable tt. Click on the Play button to vary tt between 0 and 2π2\pi. Change perspective - for example look at the north pole.

See in Geogebra

For Qcy, the situation is much more simple: r1r_1 and r2r_2 are points on S3S^3. Each r1eitr_1e^{it} is on a circle of radius 1 around the origin in a plane spanned by r1r_1 and r2r_2. This is agreat circle of S3S^3.

Side question: On S3S^3 is there a Great Sphere - similar to the great circle? A great sphere is a 3-dimensional sphere of radius 1 around the origin, fully contained in the hull of S3S^3.

Now we can envisage the following communication from us to Qcy:

  • We move the starting point SS of our trackball S2S^2 to a position PP
  • We calculate a quaternion, say rr, that describes a rotation moving SS to PP and transmit it to Qcy
  • Qcy takes the coefficients of this quaternion as starting point for an expedition
  • Then Qcy travels along the Hopf fiber as given by reitr e^{it} tt between 0 and 2π2\pi until it reaches the rr again.

Then we can rotate our trackball a little further and send Qcy off to a new great circle.

Can Qcy reach every point of S3S^3 this way, i. e . for a unit quaternion ss, can you rotate the controller to a position wnich guides Qcy towards ss?

Yes, it can: If a+bi+cj+dka+bi+cj+dk is any quaternion, then the Hopf function h(a,b,c,d)h(a,b,c,d) defines a position PP of the controller such that this quaternion is in the Hopf fiber of PP.


The Hopf fibration partitions S3S^3 into disjoint sets of great circles.

Each of these great circles (Hopf fiber) can be represented by the set of all quaternions of the form reitr e^{it} for any unit quaternion rr.from the fiber.

How can we observe Qcy travelling? We use 2-dimensional maps to track a travel around the surface of the 3-dimensional earth. We can try, in the same way, to track Qcys travel on the 4-dimensional S3S^3 in a 3-dimensional "map". Since we know that Qcy shall go around in circles, it would be certainly hepful to use a mapping that visualizes Qcys circles on S3S^3 as circles in our world of R3R^3. Stereographic projection does just that. When the projection is from the north pole N=(0,0,1)N=(0,0,1), the stereographic projection is defined by (x,y,z)(x1z,y1z).(x,y,z) \mapsto (\frac{x}{1-z},\frac{y}{1-z}).

Activity: For which circles is the projection a straight line?

See in Geogebra

Answer Hint: What happens if the projected circle contains the source of the projection - the north pole?

As you may guess from the activity abobe, this stereographic projection sends circles in S2S^2 not containing the north pole to circles in the plane.

Stereographic projection can be generalized from mapping the 3-dimensional sphere S2S^2 (minus one point) 1-1 onto the plane R2\R^2 to mapping the 4-dimensional sphere S3S^3 (mnus one point) 1-1 onto the 3-dimensional space R3\R^3 by generalizing the definition above to (w,x,y,z)(x1w,y1w,z1w).(4)(w,x,y,z) \mapsto \left(\frac{x}{1-w}, \frac{y}{1-w}, \frac{z}{1-w}\right).\tag{4}.

The only point that is not mapped is (1,0,0,0)(1,0,0,0). Of course, we would get similar results (with a bit more complicated calculations perhaps) by chosing another point than (1,0,0,0)(1,0,0,0) as the source of projection. Also this stereographic projection sends circles on S3S^3 not containing (1,0,0,0)(1,0,0,0) to circles in R3\R^3.

Since Hopf fibers are circles, their images will be too - or they will be a straight line if they contain (1,0,0,0)(1,0,0,0).

Stereographic projection sends (1,0,0,0)(1,0,0,0) to infinity and the Hopf fiber of a point (x,y,z)(x,y,z) contains (1,0,0,0)(1,0,0,0) - with 1 as corresponding quaternion - if and only if the identity rotation takes SS to PP, i.e. P=S=(1,0,0)P=S=(1,0,0). Thus, the Hopf fiber of (1,0,0)(1,0,0) is the fiber that contains (1,0,0,0)(1,0,0,0). The quaternions in this fiber have the form 1eit=cost+isint1\cdot e^{it}=\cos{t}+i\sin{t}. Stereographic projection takes this quaternion to (sint1cost,0,0)(\frac{\sin{t}}{1-\cos{t}},0,0). As tt varies between 00 and 2π2\pi, these pomts fill the xx-axis.

For pure quaternions, i.e. if w=0w=0, the projection of xi+yj+zkxi+yj+zk is (x,y,z)(x,y,z) and hence the unit sphere orthogonal to the vector (1,0,0,0)(1,0,0,0) is projected onto the unit sphere S2S^2.. That applies, in particular, to r1r_1 and r1-r_1 in the Hopf fibre of PP. Thus the projection of the fiber of PP must contain two opposite points on the unit sphere S2S^2.

If r1=r1xi+r1yj+r1zkr_1=r_{1x}i+r_{1y}j+r_{1z}k, then r2=r1i=r1xr1zjr1ykr_2=-r_1i=r_{1x}-r_{1z}j-r_{1y}k. 3 points determine a circle in R3\R^3. Hence the stereographic projection of the Hopf fiber of PP is the circle through (r1x,r1y,r1,z)(r_{1x},r_{1y},r_{1,z}), (r1x,r1y,r1,z)(-r_{1x},-r_{1y},-r_{1,z}) and (0,r1z1r1x,r1y1r1x)(0,\frac{-r_{1z}}{1-r_{1x}},\frac{-r_{1y}}{1-r_{1x}}) - unless r1x=1r_{1x} = 1, in which case r1=ir_1=i and r2=1r_2 = 1, i.e. r2r_2 is the point (1,0,0,0)(1,0,0,0) from which we project and we are back in the case we just discussed.

These formulas for calculating the projections of r1,r1r_1,-r_1 and r2r_2 are useful to calculate the stereographic projection of a Hopf fiber directly from the coefficients of a single pure quaternion rr from the fiber. The unit vector bisecting the angle SOPSOP provides such a quaternion r1r_1.

Example: Let us consider P=(1,0,0)P=(-1,0,0). Rotations of S2S^2 that take S=(1,0,0)S=(1,0,0) to PP must all have an angle of rotation of π\pi and their axes must lie in the yzyz-plane. The quaternions for these rotations are of the form costj+sintk\cos{t}j+\sin{t}k and stereographic projection sends them to (0,cost,sint)(0,\cos{t},\sin{t}) - the stereographic projection of the Hop fiber of (1,0,0)(-1,0,0) is the unit circle in the yzyz-plane!

If a fiber is projected to a proper circle, i.e. r1x1r_{1x} \neq 1, then the point (0,r1z1r1x,r1y1r1x)(0,\frac{-r_{1z}}{1-r_{1x}},\frac{-r_{1y}}{1-r_{1x}}) of the projection of the fiber lies in the yzyz-plane. Therefore, each projection of a fiber which is not the xx-axis must pass through the yzyz-plane.


Stereographic projection maps S3S^3 - except (1,0,0,0)(1,0,0,0) - onto R3\R^3. It maps circles - in paricular Hopf fibers - to circles in R3\R^3.

The Hopf fiber of S=(1,0,0)S=(1,0,0) is projected onto the xx-axis. The projection of each other fiber is a circle that passes at opposite points through the unit sphere S2S^2.

The projection of the Hopf fiber of (1,0,0)(-1,0,0) is the unit circle in the yzyz-plane.

The projection of each Hopf fiber has at least one point in the yzyz-plane.

Exploring S3S^3

Now can we control Qcy on the S3S^3 planet and observe its movement. our controller is a point PP on the S2S^2 sphere. For each position of PP, we can determine the quaternins r1,r2r_1,r_2 each of these determines the Hopf fiber of PP - a great circle r(cost+isint)r\cdot(\cos t + i \sin t). Qcy can explore the S3S^3 planet around this great circle and its movement can be observed on the stereographic projection of S3S^3 where we shall see it moving on a circle in our space.

The following applet shows the stereographic projection of the fiber of a point PS2P\in S^2. The position of PP can be controlled by setting its latitude and longitude.

Experiment with various positions of PP. After selecting a slider, you may increase/decrease the value with your cursor keys. What do you observe?

Experiment with switching animation for the sliders and tracking of the green circles on and of (right click on the respective item in the left bar to change).

With the red dot you may reveal the unit circle in the yzyz-plane as a further hint

View in Geogebra

You may have noted that the projection of each fiber passes twice through the yzyz-plane - once inside the unit circle in this plane and once outside - of course unless the fiber of (1,0,0)(1,0,0) or (1,0,0)(-1,0,0). Since the unit sphere of the yzyz-plane is a fiber and all fibers are similar, we may claim that any two circles, which are projections of a fiber, are linked. Similarly, the xx-axis passes through every fiber projection.

The Hopf fibers fill the complete surface of S3S^3 and the image of S3S^3 under the stereographic projection is the complete R3\R^3 space. Thus the projections of all Hopf fibers are a set of interlinked circles that fill the complete R3\R^3-space and wind around the xx-axis - something hard to imagine.

We add an applet by Michael Singer that also shows two interlinked projections of Hopf fibers. Varying α\alpha visualizes the transition from the fiber of (1,0,0)(-1,0,0) (unit circle in y,zy,z-plane) to the fiber of (1,0,0)(1,0,0) (xx-axis). Note the almost hidden animation buttons for α,β\alpha,\beta.

A video by Niles Johnson showing the projected Hopf fibers for a series of point of S2S^2: Compare the position of the points with the shape of the projections!

The following cell is intentionally left blank for your own experiments.