Visualization of the Hopf Bundle

Srdjan Vukmirovic

\(We\ visualize\ the\ Hopf\ bundle\ S\^1 -> \(S\^3 -> \(S\^2\ by\ means\ of\ the\ stereographics\ projection\ S\^3 -> ℝ\^3 . \ Furthermore\)\), 
    we\ visualize\ the\ Dirac\ \ connection\ \ on\ Hopf\ bundle . \ 
        The\ horizontal\ lifts\ of\ a\ curve\ form\ the\ base\ space\ S\^2\ to\ a\ total\ space\ S\^3, \ 
    with\ respect\ to\ this\ connection, \ \ are\ calculated\ and\ visualized . \ This\ is\ done\ as\ an\ appendix\ of\ the\ author' 
        s\ PhD\ thesis . \ 
          The\ main\ part\ of\ the\ thesis\ are\ different\ aspects\ of\ self - duality, \ 
    that\ can\ be\ seen\ as\ a\ generalization\ of\ the\ Dirac\ \(\(connection\)\(.\)\)\)

The Hopf Fibration

As first, load the packages and turn off the annoying warnings.

<< Graphics`ParametricPlot3D`
Off[ParametricPlot3D::"ppcom",  
      Power::"infy",  ∞::"indet",  
      ParametricPlot3D::"pplr"]

\(Define\ the\ stereographic\ projection\ S\^3 -> \(\(ℝ\^3\)\(.\)\)\)

ster[x_,  y_,  z_,  
          t_]  :=   1/(1 - t) {x, y, z};

Suppose that the sphere (S^2)  is parameterized by angles (θ, ϕ). The function hopf[θ, ϕ, α] returns the stereographic projection of a point from the fibre over (θ, ϕ). The parameter α describes a particular point in the fibre.

hopf[θ_,  ϕ_,  α_] := 
        ster[Cos[θ/2] Cos[α], Cos[θ/2] Sin[α],  
          Sin[θ/2] Cos[ α +  ϕ],  
          Sin[θ/2] 
            Sin[ α +  ϕ] ];

The function fibra draws the fiber over a point (θ, ϕ) under the stereographics projection. The fibers project into circles, and only those passing through the north pole of the sphere (S^3) project into the line. Note that the color and thickness of the projected fibre can be given.

fibra[θ_, ϕ_,   prop_: {RGBColor[1, 0, 0],  
                Thickness[0.001]}]  :=  
          ParametricPlot3D[
            Append[hopf[θ,   ϕ,  t], prop],  {t, 0, 
              2  π},  Axes -> False,  Boxed -> False,  
            DisplayFunction -> Identity];

\(Now, \ 
    we\ choose\ an\ arbitrary\ orthonormal\ basis\ \((e1, \ e2, \ 
        e3)\)\ of\ R\^3 . \ 
        We\ need\ it\ in\ order\ to\ parameterize\ circles\ of\ the\ sphere\ S\^2\ laying\ in\ the\ planes\ normal\ to\ e1 . \ 
        You\ can\ change\ the\ basis\ as\ you\ like . \ 
        What\ you\ get\ is\ geometrically\ the\ same, \ \(\(anyway\)\(.\)\)\)

e1  =  
        1/Sqrt[2] {1,  -1,  0} // N;
e2  =  N[1/Sqrt[3] {1,  1,  1}];
e3  =  1/Sqrt[6] {1,  1,  -2} // N;

The function krug  parameterizes the circle of radius Sqrt[1-r^2] with the parameter  ϕ. The circle lies in the plane orthogonal to e1. The functions th and ph  are auxilary functions for determining (θ, ϕ) angles for point (x, y, z) from the sphere (S^2).

krug[ϕ_,  r_] := 
        N[r e1  +  
            Sqrt[1 - r^2] (Cos[ϕ] e2 +  
                  Sin[ϕ] e3)];
th[{x_,  y_,  z_}] :=  N[ArcCos[z]];
ph[{x_,  y_,  z_}] :=  N[ArcTan[x,  y]];

The function fibreKruga[r] all the fibres (i.e. torus) over the circle (of  radius Sqrt[1-r^2]) from (S^2). You wan't see anything since  DisplayFunction->Identity is set.

fibreKruga[r_,  prop_: {RGBColor[0, 0, 1],  Thickness[0.001]}] :=  
        Table[ParametricPlot3D[
            Append[hopf[th[krug[j, r]], ph[krug[j, r]],  t],  prop],  {t, 
              0, 2  π},  Axes -> False,  Boxed -> False,  
            DisplayFunction -> Identity],   {j, 0, 2 Pi,  
            2  Pi/20}];

Here comes the first animation of the Hopf bundle. The twisted torus in each moment is a stereographic projection of all fibers over a single circle from (S^2). In the extreme cases r = t = ± 1 the circle is point and there is only one fiber (circle) above it. The tori fill the whole (R^3) taking each point only once.

Table[
        Show[fibreKruga[t,  {Hue[t/2 - 1/2],  Thickness[0.005]}],  
          DisplayFunction -> $DisplayFunction,  
          ViewPoint -> {1.011,  0.179,  3.224},  
          PlotRange -> 
            3.9 {{-1, 1},  {-1, 1},  {-1, 1}}],  {t, -1, 
          1,  0.1}];

The fibers over two congruent circles of the (S^2) (obtained for r = ±0.8) are linked tori.

Show[
        fibreKruga[-0.8,  {RGBColor[0, 0, 1],  
            Thickness[0.001]}],  
fibreKruga[
          0.8,  {RGBColor[1, 0, 0],  Thickness[0.001]}],  
        DisplayFunction -> $DisplayFunction,  
        ViewPoint -> {1.011,  0.179,  3.224}];

This is well known animation of the Hopf bundle where circles are normal to the z-axis (the same one would get by setting e1={0,0,1}, e2={0,1,0}, e3={1,0,0} in the previos method). Note that the projection of the last fiber is a line. That is because that fiber (over the point (0,0,1) of (S^2)) and only it, passes through the north pole of (S^3).

Table[
        Show[Table[
            fibra[t, 
              phi,  {RGBColor[t/Pi,  phi/(2  Pi), t/Pi],  
                Thickness[0.001]}],  {phi,  0,  2 Pi,  2 Pi/20}],  
          DisplayFunction -> $DisplayFunction, 
          PlotRange -> 
            1.5 {{-1, 1},  {-1, 1},  {-1, 1}}],  {t,  0 ,  
          Pi,  Pi/16}];

Here is a funny way to make a torus out of circles.

slika  =  {};
Table[
        Show[slika  =  Append[slika,  fibra[Pi/4,  t]],  
          DisplayFunction -> $DisplayFunction,  
          PlotRange -> 
            1.5 {{-1, 1},  {-1, 1},  {-1, 1}}],  {t, 0, 
          2 Pi,  2 Pi/20}];

To get the whole bundle we have to glue two its trivializations. Now, we show that over the equator this gluing is realized as a twist. The black torus is a bundle over the equator in one of the trivializations. The red one is the same part of the bundle but parameterized in the other trivializations. The way of gluing is governed by the transition function, and here is seen as a twist.

torus  =  
        Table[ParametricPlot3D[
            hopf[Pi/4,  phi,    a0],   {phi,  0,  2 Pi}, 
            Boxed -> False,  Axes -> False,  
            DisplayFunction -> Identity],  {a0, 0 , 
            2 Pi ,   2  Pi/10}];
Table[
        Show[Append[
            Table[
ParametricPlot3D[
Append[hopf[Pi/4,  phi,    phi  +  a0], {RGBColor[1, 0, 0],  
                    Thickness[0.001]} ],  {phi,  -a0,  t -  a0},  
                Boxed -> False,  Axes -> False,  
                DisplayFunction -> Identity],  
{a0, 
                0 , 2 Pi ,   2  Pi/10}],  torus],  
          DisplayFunction -> $DisplayFunction,  
          PlotRange -> 
            1.5 {{-1, 1},  {-1, 1},  {-1, 1}}],  {t, 
          2  Pi/20,  2 Pi,  2 Pi /20}];

The Dirac Connection on the Hopf Bundle

Now, I will go into more details in order to estabilish the notation. 
Let π: P → M is a principal bundle with the base space M, the total space P, the projection map π and with the structure group G. We also denote it by G→P→M. Let g be the Lie algebra of the group G.

\(According\ to\ one\ possible\ definition, \ 
    a\ connection\ on\ a\ principal\ bundle\ \ G → 
      P → 
      M\ \ is\ a\ globally\ defined\ form\ \(ω : 
          P → \(T\^*\) P⊗g\), \ 
    on\ P\ with\ values\ in\ the\ Lie\ algebra\ g . \ 
        The\ form\ ω\ is\ also\ required\ to\ be\ invariant\ under\ the\ natural\ action\ of\ the\ group\ G\ on\ \(\(P\)\(.\)\)\)

\(If\ \(α : \([a, \ b]\) → 
          M\ is\ a\ \ curve\ \ on\ a\ base\ space\), \ \ curve\ \ \(\(α\&_\) : \([a, \ b]\) → 
            P\ is\ a\ lift\ of\ the\ curve\ α\ provided\ π∘\ α\&_\)\  = \ α . \ Obviously, \ 
    the\ lift\ of\ α\ is\ not\ unique . \ However, \ 
    given\ a\ connection\ ω, \ 
    we\ can\ define\ the\ horizontal\ lift\ \ α\&_\ of\ α\ with\ additional\ condition\ ω \((\ α\&_')\)\  = \ \(0\ in\ each\ point\ of\ α\&_\  . \ \ If\ the\ initial\ condition\ \ \(α\&_\) \((a)\)\  = \ p\  ∈ \ P\), \ 
    is\ given\ \((p ∈ \ \(π\^\(-1\)\) \((α \((a)\))\))\), \ the\ horizontal\ lift\ of\ a\ curve\ α\ is\ unique . \ 
        All\ horizontal\ lifts\ \((with\ different\ initial\ conditions)\)\ of\ the\ curve\ α\ are\ parameterized\ by\ G, \ 
    i . e . \ 
        G\ acts\ transitively\ on\ P\ transforming\ one\ horizontal\ lift\ into\ \(\(another\)\(.\)\)\)

\(The\ Hopf\ fibration\ is\ a\ principal\ bundle\ with\ a\ base\ space\ M\  = \ S\^2, \ 
    total\ space\ P\  = \ \(S\^3\ and\ the\ structure\ group\ G\  = \(U \((1)\)\  = \ S\^1 . \ 
              We\ consider\ the\ total\ space\ S\^3\ embedded\ in\ the\ complex\ plane\)\), \ i . e . \ S\^3 ⊂ R\^4 ⊂ \ C\^2, \ 
    with\ coordinates\ z\  = \ \(\((z\_1, \ z\_2)\)\(.\)\)\)

\(One\ can\ check\ that\ \ well\ known\ Dirak\ connection\ can\ be\ written\ in\ the\ form\ ω\  = \ \(z\ d 
           z\&_\  = \ \(z\_1\) \(dz\_1\)\&_ + \ \(z\_\(\(2\)\(\ \)\)\) \(dz\_2\)\&_ . \ 
              This\ is\ an\ example\ of\ \ connection\ on\ the\ Hopf\ \(\(bundle\)\(.\)\)\)\)

Now, we are going to visualize the Dirak connection via horizontal lift. Let α[t] = sfera[phi[t], theta[t]], t ∈ [a, b], be an arbitrary curve on the sphere (S^2). For instance:

a  = 0;  b = Pi;
phi[t_] := 1/2  Sin[2  t];
theta[t_] := t;

The standard parameterization of the sphere.

sphere[theta_,  phi_] :=  {Cos[theta] Cos[phi],  
        Cos[theta] Sin[phi],  Sin[theta]}

We can see how the original curve looks on the sphere.

sphCurve  =  
        ParametricPlot3D[
          Append[sphere[phi[t],  theta[t]], {Thickness[0.01]}],  {t,  a,  
            b}, Boxed -> False,  Axes -> False,  
          DisplayFunction -> Identity];
sph  =  
        ParametricPlot3D[
          Append[sphere[θ,  ϕ],  { 
              EdgeForm[]}],  {θ,  0,  2 Pi,  
            2  Pi/40},  {ϕ,  -Pi/2,  Pi/2},  
          Boxed -> False,  Axes -> False,  
          DisplayFunction -> Identity];
Show[sph,  sphCurve,  DisplayFunction -> $DisplayFunction, 
        ViewPoint -> {2.240,  2.536,  0.042}];

We are going to draw, the fibers over the points of the curve .  The start and end, are fibers over the starting and ending points of the curve (they are blue and green coloured) .  
            The lift of the curve is going to start and finish at those fibers.

fibers  =  
        Show[Table[
            fibra[theta[t],  phi[t]],  {t,  
              a ,   b,   Abs[a - b]/20}],  
          DisplayFunction -> Identity];
start  :=  
        fibra[theta[a],  
          phi[a],  {RGBColor[0, 1, 0],  
            Thickness[0.008]}];
end :=  
        fibra[theta[b],  
          phi[b],  {RGBColor[0, 0, 1],  
            Thickness[0.008]}];
Show[fibers,  start,  end,  
        DisplayFunction -> $DisplayFunction];

One can calculate the differential equation of the lift which depends on the initial condition . The function solution  is a numerical solution of that differential equation and the function lift draws the stereographic projection of the lift (depending on the initial condition).

solution[m_]  :=  
        NDSolve[{α'[
                u] == - Sin[theta[u]/2]^2 phi'[u],  α[
                0]  == Evaluate[m]} , α,  {u,  0,  
            2 Pi}];
lift[m_]  :=  
        ParametricPlot3D[
          Append[hopf[theta[t],  phi[t], 
              Evaluate[α[t] /. solution[m][[1]]]],  {RGBColor[
                0, 0, 0],  Thickness[0.008]}],  {t,  a,   b,  
            Abs[a - b]/40},  Boxed -> False,  Axes -> False,  
          DisplayFunction -> Identity];

Here is the animation of all the lifts depending on the initial condition . 
        One can think of this animation as of an action of a group U (1) on a piece of Hopf bundle .  
        The action transformes one horizontal lift into another lift of the same curve.

Table[
        Show[fibers,  lift[m], start, end, 
          DisplayFunction -> $DisplayFunction,  
          SphericalRegion -> True ,  
          PlotRange -> 
            1.8 {{-1, 1},  {-1, 1},  {-1.5, 1.5}}],  {m,  
          0,  2 Pi,  2 Pi/20}];

Now we take another example: the curve is the θ = π/4 parallel (the one passing through the Belgrade) of the sphere.

a  = 0;  b = 2 Pi;
theta[t_] := Pi/4;
phi[t_] := t;

Since, it is a closed curve instead the start and end fibre we pick only one fibre named theFiber.

torus  =  
        Show[Table[
            fibra[theta[t],  phi[t]],  {t,  
              a ,   b,   Abs[a - b]/20}],  
          DisplayFunction -> Identity];
theFiber =  
        fibra[theta[a],  
          phi[a],  {RGBColor[1, 0, 1],  Thickness[0.01]}];

Show[torus,  theFiber, 
        DisplayFunction -> $DisplayFunction];

We can agains see the animation of all the lifts .  
        Note that the lift starts and finishes at the same fiber (since the original curve is closed),  
    but not in the same point .  
        The difference beetwen the starting and ending point of the lift is the parallel displacement along the curve . Hence,  
    we see that the holonomy and curvature of the connection are not trivial (otherwise each lift would be closed).

Table[
        Show[torus,  lift[m], theFiber,  
          DisplayFunction -> $DisplayFunction,  
          SphericalRegion -> True ,  
          PlotRange -> 
            1.8 {{-1, 1},  {-1, 1},  {-1.5, 1.5}}],  {m,  
          0,  2 Pi,  2 Pi/20}];

References

N . Blazic,S . Vukmirovic,Solutions of Yang - 
          Mills equations on generalized Hopf bundles,J . Geom . Phys . 41,No  .1 - 2,57 - 64 (2002).

T . Göckler,T . Schücker, Differential Geometry,Gauge Theories and Gravity,Cambridge University Press (1987).

M . Spivak, A comprehensive Introduction to Differential Geometry,Vol II,Publish or Perish Press.

S .  Vukmirovic, Self-dual connections (in Serbian), PhD thesis, Faculty of Mathematics, University of Belgrade (2003).