Introduction to Fiber Bundles

If you read enough theoretical physics, one phrase keeps showing up: fiber bundle. Electromagnetism is "a U(1) gauge theory", which is secretly a statement about a fiber bundle. The strong force lives on an SU(3) bundle. General relativity is the geometry of the tangent bundle of spacetime. Somewhere in the 20th century geometry ate physics, and bundles were the plates. And yet most of us were never taught what a bundle actually is.

I want to fix that here. Textbooks usually open with the definition: a total space \( E \), a base \( B \), a projection \( \pi : E \to B \), local trivializations, structure groups. All of that is correct, and if you've never seen a bundle before it's a wall of symbols. The idea underneath fits in one sentence: a fiber bundle is a space built by attaching a copy of one space to every point of another, possibly with a twist. Most of what's interesting is in the twist. We're going to build one real bundle from scratch, with your hands on the sliders, and by the end you'll have seen the twist.

Why you should care

Okay, but who cares? I have two reasons, one from physics and one from geometry.

First, physics. In Yang–Mills theory, the forces of nature are properties of a space rather than things that happen in it. Specifically, they are the curvature of a bundle sitting over spacetime. A photon is a ripple in the geometry of a U(1) bundle the same way a gravitational wave is a ripple in the geometry of spacetime. When physicists say the Standard Model gauge group is \( SU(3) \times SU(2) \times U(1) \), they are naming the fiber of a bundle. If you don't know what a bundle is, that sentence sounds like a magic spell. If you do, it's a picture.

Second, geometry. The moment you try to do calculus on a curved space, you need bundles. A derivative is a tangent vector, tangent vectors at different points live in different tangent spaces, and if you want to compare them or differentiate them, you need one space that keeps all of the tangent spaces organized together. That space is a bundle. You can't really opt out of it, it's how you keep the books straight.

The subject is a lot easier if you learn it on the smallest example that isn't trivial. So we're going to spend this entire page on one space: the circle.

The circle, our home base

Take the complex numbers of absolute value one:

\[ U(1) = \{ z \in \mathbb{C} : |z| = 1 \} = \{ e^{i\theta} : \theta \in \mathbb{R} \} \]

As a set, it's the unit circle. Its topology is the subspace topology inherited from \( \mathbb{C} \): a set \( V \subseteq U(1) \) is open exactly when \( V = U(1) \cap W \) for some open \( W \subseteq \mathbb{C} \). (When I first read definitions like this one as a drunk undergraduate, they made no sense. The second time, as a sober undergraduate, they still made no sense.) Concretely, the open sets are unions of open arcs. That's it. Drag the slider and move the point \( e^{i\theta} \) around:

The point \( z = e^{i\theta} = \cos\theta + i\sin\theta \) moving around \( U(1) \).
U(1) versus \( S^1 \): the group and its shadow

I've been sloppy on purpose, so let me come clean. \( S^1 \) is the topological space: the bare circle, points and open arcs, nothing else. \( U(1) \) is that space plus a multiplication: \( e^{i\alpha} \cdot e^{i\beta} = e^{i(\alpha+\beta)} \), with identity \( 1 \) and inverse \( (e^{i\theta})^{-1} = e^{-i\theta} \). Multiplying by a fixed \( e^{i\alpha} \) rotates the whole circle by \( \alpha \).

A space with a smooth group structure like this is called a Lie group (pronounced "lee", after Sophus Lie). So the careful statement is: \( U(1) \) is a Lie group whose underlying space is \( S^1 \). Same set of points, more structure. This comes back later, because the group structure is what makes the circle's tangent bundle so well-behaved.

Gauss and the view from inside

In the 1820s Gauss was surveying the Kingdom of Hanover, triangulating the land with theodolites (fancy telescopes for measuring angles), and it got him thinking about what a surveyor stuck on a surface could ever figure out about the shape of that surface. His answer is the Theorema Egregium, the "remarkable theorem": the curvature of a surface can be measured entirely from within the surface, using only distances measured along it. You don't need to stand outside. A flat map of the Earth has to distort distances, and you can prove it without ever leaving the ground. Draw a big triangle, add up the angles, and the excess over \( 180^\circ \) is curvature, measured from inside.

This is the founding idea of differential geometry: intrinsic properties, the ones you can know from inside, versus extrinsic ones, which depend on how the space sits in some bigger space. Riemann took it and ran. His 1854 habilitation lecture built geometry for spaces of any dimension with no outside at all, and sixty years later Einstein used it to describe gravity. That's our situation too, we are surveyors stuck in spacetime with no outside to stand on.

An aside on Flatland. In 1884 Edwin A. Abbott published Flatland: A Romance of Many Dimensions, narrated by A Square, a resident of a two-dimensional world. In one chapter the Square dreams of visiting Lineland, a one-dimensional world whose inhabitants slide along a single line and perceive their neighbors only as points. The Square tries to explain "left" and "right" to the King of Lineland, waves his arms grandly through the second dimension, and the King sees points appearing and vanishing and decides his visitor is a lunatic. Fair enough, honestly.

Now put a Linelander on our circle instead of a line. The uncomfortable fact is that locally, they can't tell the difference. Every small neighborhood of the circle looks just like a small piece of the line. A one-dimensional surveyor doing Gauss-style intrinsic measurements finds nothing, because a curve has no intrinsic curvature to find. No Linelander laboratory, however well funded, can tell the line and the circle apart. The difference is global: walk far enough on the circle and you come home. Fiber bundles are the mathematics of this kind of global fact, the kind you can never detect with local measurements.

The tangent line

Our Linelander can't see curvature, but they can still move, and moving means having a velocity. At the point \( e^{i\theta} \), a velocity is a vector pointing along the circle's tangent direction, which is \( ie^{i\theta} = (-\sin\theta, \cos\theta) \). The set of all possible velocities at that one point is a line, the tangent line \( T_{e^{i\theta}} S^1 \). Drag the point and watch its tangent line go with it:

The tangent line \( T_z S^1 \) at \( z = e^{i\theta} \), with the unit tangent vector \( iz \) drawn as an arrow.
The Lie algebra: how the line is secretly inside the circle

Look at the tangent line at the identity element \( 1 \in U(1) \). It's the vertical line \( i\mathbb{R} = \{ i\theta : \theta \in \mathbb{R} \} \). This line, together with a bracket operation that is trivial here, is called the Lie algebra of the group, written \( \mathfrak{u}(1) \). The slogan I keep in my head is the Lie algebra is the derivative of the group at the identity.

The exponential map sends the line to the circle: \[ \exp : \mathfrak{u}(1) \to U(1), \qquad i\theta \mapsto e^{i\theta} \] and it converts addition on the line into multiplication on the circle, \( e^{i\alpha}e^{i\beta} = e^{i(\alpha+\beta)} \). The line wraps around the circle infinitely many times: \( \theta \) and \( \theta + 2\pi \) land on the same point. So the flat, infinite Lie algebra knows everything about the group locally, and it misses one thing: the circle closes up. Local information versus global twist, again.

One more thing we'll need later. Since multiplying by \( e^{i\alpha} \) rotates the circle, it also carries the tangent line at \( 1 \) to the tangent line at \( e^{i\alpha} \). The group moves its own tangent spaces around. This is why the tangent bundle will turn out to be a product.

What is a manifold?

Let's back up and say what kind of space the circle is an example of. A manifold of dimension \( n \) is a space \( M \) in which every point has a neighborhood \( U \) that looks like \( \mathbb{R}^n \): there is a homeomorphism \( \varphi : U \to \mathbb{R}^n \), called a chart. A collection of charts covering \( M \) is an atlas, named after the book of maps. No single page shows the whole Earth, but every place is on some page. If the transition maps \( \varphi_2 \circ \varphi_1^{-1} \) between overlapping charts are smooth, we call \( M \) a smooth manifold and we can do calculus on it.

The circle needs at least two charts. For example, the angle function \( \theta \) works on the circle minus the point \( 1 \), and a second angle function shifted by \( \pi \) works on the circle minus \( -1 \). On the overlaps, the two angles differ by a constant, which is as smooth as functions get. Why two? Because the circle is locally a line but not globally a line, and one chart can't hide that. The atlas is where the global twist hides.

All the tangent lines at once

Now for the problem that forces bundles on us. A vector field on the circle assigns to each point a tangent vector at that point. To differentiate a vector field, or even to say it's continuous, you need all the tangent vectors at all the points to live together in one topological space. But the tangent line at \( e^{i\theta} \) and the tangent line at \( e^{i\theta'} \) are different lines. You can't add a vector in one to a vector in the other. It's like adding dollars to yen with no exchange rate.

The fix is to keep better books. Define the tangent bundle \[ TS^1 = \{ (p, v) : p \in S^1,\; v \in T_p S^1 \} \] the set of all pairs (point, velocity at that point), with the projection \( \pi : TS^1 \to S^1 \) sending \( (p,v) \mapsto p \). The fiber over \( p \) is \( \pi^{-1}(p) = T_p S^1 \), one tangent line per point.

But what does this space look like? If you draw all the tangent lines in the plane, you get a mess. They overlap and cross, and the picture lies to you, because different points of different fibers get drawn on top of each other. The trick is to use a third dimension to give the fibers some room. Press sweep to lay down the tangent lines, then drag organize to rotate each line out of the plane. Drag the scene to orbit it.

  
Left position of the slider: tangent lines drawn in the plane, overlapping. Right position: each fiber rotated into its own vertical direction. The tangent bundle \( TS^1 \) is a cylinder.

Fully organized, the tangent bundle of the circle is a cylinder: \[ TS^1 \cong S^1 \times \mathbb{R} \] This is the best case scenario, called a trivial bundle: the total space \( E \) factors as the base times the fiber, \( E = B \times F \). Every fiber is a copy of \( F = \mathbb{R} \), and the copies are glued together with no twist at all. The circle gets away with this because of the group structure from the collapsible box above: multiplication by \( e^{i\alpha} \) slides tangent lines onto each other consistently, all the way around.

Don't let the small example fool you, this doesn't always work. The tangent bundle of the two-sphere \( S^2 \) is not a product \( S^2 \times \mathbb{R}^2 \). If it were, you could choose a nonzero tangent vector continuously at every point, and the hairy ball theorem says you can't. Every wind pattern on Earth has a calm point somewhere. Below are three continuous tangent vector fields on the sphere, each hair drawn light at its root and dark at its tip, with the zeros marked by pulsing red dots:

   
Continuous tangent vector fields on \( S^2 \). However you comb, at least one red dot survives. Drag to orbit.

It's tempting to talk about "the" zero point of a field like this, but the theorem doesn't quite say that. What the hairy ball theorem proves is that every continuous tangent vector field on \( S^2 \) vanishes somewhere: at least one zero, with no promise about how many. The combed field and the swirl each have two, one at each pole. The dipole, built by wrapping a constant vector field of the plane onto the sphere by stereographic projection, gets away with a single zero. What you can't have is a field with no zeros. You can herd the bald spots around the sphere, you can merge them, but you can never comb them away. Topology has a cowlick.

There's a conservation law underneath. Each isolated zero carries an integer index: the number of times the field rotates as you walk a small loop around the zero. The Poincaré–Hopf theorem (pwan-kah-RAY) says the indices of any field must sum to the Euler characteristic of the surface, and \( \chi(S^2) = 2 \). The combed field pays its debt as \( 1 + 1 \), the dipole as a single \( 2 \), and no field can pay \( 0 \). That's the obstruction to \( TS^2 \) being trivial. A product structure \( S^2 \times \mathbb{R}^2 \) would hand you a nowhere-zero field for free, just take the constant vector \( (1, 0) \) in every fiber. The circle escaped because \( \chi(S^1) = 0 \). So does the torus: you can comb a donut flat, which is one reason tori show up everywhere in dynamics.

So triviality is a special property that some bundles happen to have. What does a non-trivial bundle look like? We can build the simplest one right now.

The Möbius strip: a bundle that refuses to factor

Take the same base \( B = S^1 \), and this time attach the fiber \( F = [0,1] \), a closed interval, to each point. If you attach the intervals with no twist, you get the cylinder \( S^1 \times [0,1] \), a trivial bundle again. But there is another way to glue. Go around the circle, and when you close the loop, glue the last interval to the first one flipped: \[ E = \big( [0, 2\pi] \times [0,1] \big) \,/\, (0, s) \sim (2\pi,\, 1 - s) \] That quotient is the Möbius strip (MUR-bee-us, roughly). Let's walk through it fiber by fiber. The current fiber has a red end at \( s = 0 \) and a green end at \( s = 1 \). Drag \( \theta \) around a full loop and watch what the gluing does to them:


      
The Möbius strip assembled fiber by fiber over \( S^1 \). Each fiber is a copy of \( [0,1] \).

At \( \theta = 2\pi \) you are standing over the same point of the base circle you started at, but red and green have traded places. The fiber came back flipped. No local observation can detect this. Over any arc of the circle short of the whole thing, the strip is just (arc) \( \times \, [0,1] \), the same as the cylinder. Our Linelander, living on the base circle and looking at the fiber above their head, sees a perfectly ordinary interval everywhere they go. The flip is a global fact, like the circle closing up.

You might suspect it's just an artifact of how I drew it. It isn't. Here's a proof that the Möbius strip \( E \) is not homeomorphic to the cylinder \( S^1 \times [0,1] \): look at their boundaries. The cylinder's boundary is two disjoint circles, top and bottom. The Möbius strip's boundary is one circle: the flip connects the \( s = 0 \) edge to the \( s = 1 \) edge, so the boundary is a single loop that goes around the base twice. Homeomorphic spaces have homeomorphic boundaries, so \( E \neq S^1 \times [0,1] \). The product structure \( E = B \times F \) is impossible, even though every local piece has it.

And that's why the general definition looks the way it does. We can't demand \( E = B \times F \) globally, so we demand the next best thing, and that demand is the definition:

Definition: fiber bundle

A fiber bundle is a tuple \( (E, B, \pi, F) \): a total space \( E \), a base \( B \), a fiber \( F \), and a continuous surjection \( \pi : E \to B \), such that every point of \( B \) has a neighborhood \( U \) with a homeomorphism \[ \phi_U : \pi^{-1}(U) \xrightarrow{\;\cong\;} U \times F \] that respects the projection. The maps \( \phi_U \) are called local trivializations: locally, every bundle is a product. The notation \( F \hookrightarrow E \xrightarrow{\pi} B \) summarizes the whole package.

All the global information lives in how the local pieces are glued. On an overlap \( U \cap V \), the composite \( \phi_U \circ \phi_V^{-1} \) rearranges fibers by a transition function valued in some group \( G \) of symmetries of \( F \), called the structure group. For the Möbius strip, \( G = \mathbb{Z}/2 \): the only gluing data is "flipped or not", and the strip picks flipped. For the tangent bundle of an \( n \)-manifold, \( G \) is the group of invertible linear maps of \( \mathbb{R}^n \). And when physicists say electromagnetism is a U(1) gauge theory, they mean: a bundle over spacetime with structure group \( U(1) \), our circle, now playing the role of the twist instead of the base. In one line: gauge theory is the physics of how the fibers are glued.

That's a lot of moving parts, so here's a picture with the same moving parts. Below, the Möbius strip is the total space \( E \), and the slider moves a point \( p \) around the base circle \( B \). Everything in the definition is color-coded, and the flattened rectangle on the right is what the local trivialization \( \phi_U \) sees:

\( \xrightarrow{\;\phi_U\;} \)
Left: the Möbius strip with the patch \( \pi^{-1}(U) \) over a sliding window \( U \). Right: the same patch after \( \phi_U \) flattens it into \( U \times [0,1] \). Drag the 3D view to orbit.

Okay, let's unpack the colors:

Now drag the slider all the way around, and keep your eye on the right panel while the left one does something dramatic. The window slides over the glue seam, the patch twists through space, the red and green ends of the fiber trade places between \( \theta = 0 \) and \( \theta = 2\pi \), and the rectangle never changes. That's what local triviality means. Over any single window, the Möbius strip looks just like the cylinder, and \( \phi_U \) is the witness. The twist is real, but you won't find it in any one rectangle. It lives in the overlaps. Cover the circle with two windows and compare their \( \phi \)'s where they both apply, and on one of the two overlap regions the comparison is the flip \( s \mapsto 1 - s \). That comparison is the transition function from the definition, and it's the only place the global structure of the bundle gets written down.

Where differential forms come in

There's one loose end, and it leads into the next article. Go back to the circle and its angle \( \theta \). As a function, \( \theta \) doesn't exist globally, it has to jump by \( 2\pi \) somewhere no matter what you do. But its differential \( d\theta \) is perfectly well-defined at every point of the circle, because the ambiguity in \( \theta \) is an additive constant, and constants die under \( d \) (derivatives are rates of change, and constants don't change). This object, a machine that eats a tangent vector at each point and linearly spits out a number, is called a differential 1-form. There's bundle language hiding in that sentence: a 1-form is a function on the tangent bundle, linear on each fiber.

Worked example: a 1-form on the circle, seen on the cylinder

Let's make "linear on each fiber" concrete, using a space we already built: the cylinder \( TS^1 = S^1 \times \mathbb{R} \) from the organize slider. A point of the cylinder is a pair \( (\theta, v) \): a base point \( e^{i\theta} \) on the circle, and a height \( v \), which stands for the tangent vector \( w = v\, \partial_\theta \in T_{e^{i\theta}} S^1 \). Each vertical line of the cylinder is one fiber, and here the fiber really is a tangent space.

A 1-form \( \omega \) on the circle assigns to each point \( p \) a linear map \[ \omega_p : T_p S^1 \to \mathbb{R} \] The domain is the fiber, and the codomain is \( \mathbb{R} \). A form eats a tangent vector and returns a number. Assembled over all points, \( \omega : TS^1 \to \mathbb{R} \): a function on the cylinder. The simplest one is \( d\theta \), defined by \[ d\theta(v\, \partial_\theta) = v \] and as a function on the cylinder that is just \( g(\theta, v) = v \): the height function. Now you can see what "linear on each fiber" means. Restrict \( g \) to one vertical line and its graph is a straight line through the origin. The most general 1-form on the circle is \( \omega = a(\theta)\, d\theta \), which is the function \( g(\theta, v) = a(\theta)\, v \): still a straight line on every fiber, but the slope \( a(\theta) \) varies smoothly as you move around the base. By contrast, \( g(\theta, v) = v^2 \) is a perfectly smooth function on the cylinder that is not a 1-form: its graph on each fiber is a parabola, not a line.

Here's that picture, live. The cylinder is shaded by the value of \( g \) (blue negative, red positive), the blue vertical line is the fiber \( T_p S^1 \) over your chosen base point, and the panel on the right graphs \( g \) restricted to that one fiber:

   

A 1-form is a function on the total space of the tangent bundle, and "linear on each fiber" means: over every point of the base, its graph is a straight line through zero. Drag the 3D view to orbit.

Some things to try. Double \( v \) and watch \( \omega(w) \) double with it (the readout runs this linearity check for you, and it only fails for \( v^2 \)). Switch to \( \sin(\theta)\, d\theta \) and slide \( \theta \) around: the line in the right panel stays a line while its slope changes, and even flips sign, as the base point moves. And here's what integrating \( \omega \) over the circle means in this picture: walk once around the base feeding your velocity vector to \( \omega \) as you go. For \( d\theta \), a unit-speed walk pays \( 1 \) per radian, which is the \( 2\pi \) computed below.

Now integrate it around the circle: \[ \oint_{S^1} d\theta = 2\pi \neq 0 \] If \( d\theta \) really were the differential of a global function, this integral would have to be zero, since you end where you started. It isn't. The form \( d\theta \) is a local derivative with no global antiderivative, and the culprit is, once again, the hole in the circle. It's the same kind of thing as the Möbius flip, measured with an integral instead of a picture. Differential forms are the instruments that let a Linelander detect global twist from inside. Physics runs on this. The electromagnetic field is a 2-form \( F = dA \), where \( A \) is the same kind of locally-defined, globally-obstructed object that \( \theta \) was, and its failure to patch together can be measured in the lab.

Exercises

Math doesn't stick until you compute with it. Answers can be typed as numbers or expressions like 2*pi or -pi/2, and your progress is saved in your browser ().

Exercise 1. Use the group structure of \( U(1) \): the product \( e^{i\pi/3} \cdot e^{i\pi/6} \) equals \( e^{i\theta} \) for what value of \( \theta \)?

Hint Multiplication on the circle is addition of angles: \( e^{i\alpha} e^{i\beta} = e^{i(\alpha+\beta)} \).
Solution \( \theta = \pi/3 + \pi/6 = \pi/2 \). This is what makes \( U(1) \) more than \( S^1 \): the exponential map turns the Lie algebra's addition into the group's multiplication.

Exercise 2. What is the minimum number of charts in an atlas for the circle \( S^1 \)?

Hint A single chart would be a homeomorphism from all of \( S^1 \) onto an open subset of \( \mathbb{R} \). Think about compactness, or about what happens to the two ends of the interval.
Solution Two. One chart can't do it: \( S^1 \) is compact and an open subset of \( \mathbb{R} \) is not, so no homeomorphism exists. And two suffice: two overlapping angle charts, each missing one point, as in the atlas section above. What stops one chart from working is the circle closing up.

Exercise 3. The tangent bundle \( TS^2 \) of the two-sphere is a manifold in its own right. What is its dimension?

Hint Locally a bundle is a product \( U \times F \). How many coordinates does it take to say where you are?
Solution \( \dim E = \dim B + \dim F = 2 + 2 = 4 \): two coordinates for the point on the sphere, two for the tangent vector at that point. Same reasoning as \( TS^1 \) being the 2-dimensional cylinder.

Exercise 4. How many boundary circles does the Möbius strip have?

Hint Follow an edge in the Möbius slider demo: start at the red end of a fiber and drag \( \theta \) through one full loop. Where did you arrive?
Solution One. After a full loop the \( s = 0 \) edge continues into the \( s = 1 \) edge, so the boundary is a single circle winding around the base twice. Since the cylinder \( S^1 \times [0,1] \) has two boundary circles, this is the proof from the article that the Möbius strip is not \( B \times F \).

Exercise 5. A continuous tangent vector field on \( S^2 \) has exactly three zeros. Two of them have index \( +1 \) and \( -1 \). What is the index of the third?

Hint Poincaré–Hopf: the indices must sum to the Euler characteristic \( \chi(S^2) \).
Solution \( \chi(S^2) = 2 \), so \( 1 + (-1) + x = 2 \) gives \( x = 2 \). The field pays its debt no matter how the zeros are arranged, which is why no arrangement can pay zero. The hairy ball theorem is really an accounting rule.

Exercise 6. Compute \( \oint d\theta \) along the path that goes around the circle three times clockwise.

Hint The integral of \( d\theta \) is the total change of angle along the path. Clockwise means the angle is decreasing.
Solution Each clockwise loop changes the angle by \( -2\pi \), so three of them give \( -6\pi \). The integral counts loops, with direction: it's \( 2\pi \) times the winding number, which here is \( -3 \).

Where we are

Pause for a moment and zoom out. Everything on this page sat on a one-dimensional base. We met the circle as a space and as the group \( U(1) \). Gauss showed that geometry can be done from inside, and the Linelander showed that some facts can't be, since local measurements are blind to global structure. The tangent bundle holds all the tangent lines in one space, and for the circle it factors as \( S^1 \times \mathbb{R} \). Then the Möbius strip showed that factoring is a privilege some bundles get, which forced the real definition: locally a product, globally glued by a structure group. Gauge theory and differential geometry are both built on that definition.

So that's a fiber bundle. Locally a product, globally a twist. Next we build the instruments for measuring the twist: the calculus of differential forms, which turns it into numbers you can compute, and ends with the generalized Stokes theorem.