Introduction to Fiber Bundles
Read enough theoretical physics and 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. In the 20th century, geometry ate physics, and bundles are the plates it ate off of. 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 true and none of it explains anything. The definition is the fossil left behind after the idea died and got compressed. The idea itself is alive, and it 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. The twist is the whole story. This page builds one real bundle from scratch, with your hands on the sliders, and by the end the twist will be something you have seen.
Why you should care
Two reasons, one from physics and one from geometry.
The physics reason: in Yang–Mills theory, the forces of nature are not things that happen in space, they are properties of a space, specifically 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 is incantation. If you do, it's a picture.
The geometry reason: the moment you try to do calculus on a curved space, bundles are forced on you. A derivative is a tangent vector, tangent vectors at different points live in different tangent spaces, and if you want to compare them, differentiate them, or integrate them, you need one space that organizes all of the tangent spaces together. That space is a bundle. It's not an optional abstraction, it's the price of keeping the books straight.
The whole subject is 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} \). Concretely, the open sets are unions of open arcs. That's it. Drag the slider and move the point \( e^{i\theta} \) around:
U(1) versus \( S^1 \): the group and its shadow
I've been sloppy on purpose. \( 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. So the precise statement is: \( U(1) \) is a Lie group whose underlying space is \( S^1 \). Same set of points, different amount of structure. The distinction matters later, because the group structure is exactly what will make 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, and it got him thinking about what a surveyor confined to 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 do not need to stand outside. A flat map of the Earth must distort distances, and you can prove it without ever leaving the ground: draw a big triangle, sum 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 knowable 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, since we are surveyors confined to spacetime with no outside vantage point.
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, motions grandly through the second dimension, and the King sees points appearing and vanishing and concludes his visitor is a lunatic.
Now put a Linelander on our circle instead of a line. Here is the uncomfortable fact: locally, they cannot tell the difference. Every small neighborhood of the circle looks exactly 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. The difference between the line and the circle is invisible in every laboratory of every Linelander. The difference is global: walk far enough on the circle and you come home. Fiber bundles are the mathematics of exactly this kind of global fact, the kind you can never detect with local measurements.
The tangent line
Our Linelander does have velocities. 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 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: 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 is blind to exactly one thing: the fact that the circle closes up. Local information versus global twist, the same theme again.
One more observation we'll need: 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. Remember this when the tangent bundle turns out to be a product.
What is a manifold?
Time to 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, exactly like 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. Notice what the two-chart requirement is telling us: the circle is locally a line but not globally a line. The atlas is where the global twist hides.
All the tangent lines at once
Here is 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 such a thing, or even to say it is 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. A vector in one cannot be added to a vector in the other. They don't even intersect the same way twice.
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 distinct points of distinct fibers get drawn on top of each other. The trick is to use a third dimension to give the fibers 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.
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 reason the circle gets away with this is the group structure from the collapsible box above: multiplication by \( e^{i\alpha} \) slides tangent lines onto each other consistently, all the way around.
Do not let the small example fool you into thinking this always works. It does not. 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. Watch it happen. Here 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:
It is tempting to talk about "the" zero point of a field like this, but that is slightly more than the theorem gives you. 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, manages with a single zero. What is impossible 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.
There is 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 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 \). This is exactly 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: a donut can be combed flat, which is one reason tori show up everywhere in dynamics.
Triviality is a special property, not a law. Which raises the question: what does a non-trivial bundle actually 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. 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:
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 detects this: over any arc of the circle, however large, the strip is just (arc) \( \times \, [0,1] \), indistinguishable from the cylinder. Our Linelander, living on the base circle and sampling the fiber above their head, sees a perfectly ordinary interval everywhere they go. The flip is a global fact, like the closing-up of the circle itself.
And it is a fact, not an artifact of how we drew it. Here is 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 genuinely impossible, even though every local piece has it.
This is why the general definition exists. Since we cannot demand \( E = B \times F \) globally, 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 uses the flip. 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. Gauge theory is the physics of how the fibers are glued.
A definition with that many moving parts deserves 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:
Here is the dictionary between the definition and the graphic:
- The red dot is the point \( p \in B \), living on the base circle.
- The gold arc is its neighborhood \( U \subset B \). Unrolled, an open arc is homeomorphic to the open interval \( (0,1) \): open because the window has no endpoints of its own, it just fades into the rest of the circle.
- The blue patch is \( \pi^{-1}(U) \subset E \): every point of the strip that the projection \( \pi \) sends into \( U \). That's what \( \pi^{-1} \) means: "everything upstairs from here." The black segment inside it is the single fiber \( \pi^{-1}(p) \cong [0,1] \), with its red end at \( s = 0 \) and green end at \( s = 1 \).
- The rectangle on the right is \( U \times [0,1] \cong (0,1) \times [0,1] \): open in the base direction (drawn with dashed edges, since those edges are not part of the set) and closed in the fiber direction (solid edges, since each fiber contains both of its endpoints).
- The map \( \phi_U \) is the flattening itself. "Respects the projection" means it is fiber-by-fiber bookkeeping: the fiber over each point of \( U \) becomes the vertical column over that same point, so \( \pi \) on the left turns into "forget the vertical coordinate" on the right, the downward arrow in the picture.
Now drag the slider all the way around, and watch 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 is the content of local triviality: over any single window, the Möbius strip is indistinguishable from the cylinder, and \( \phi_U \) is the witness. The twist is real, but it does not live 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 is the only place the global structure of the bundle is written down.
Where differential forms come in
One loose end, and it opens the door to the next article. Go back to the circle and its angle \( \theta \). As a function, \( \theta \) does not exist globally: it jumps 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 \) (since derivatives are rates of change, and constants don't change). This object, a machine that eats a tangent vector at each point and returns a number, linearly, is called a differential 1-form. Note the 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" completely 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 genuinely 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} \] Watch the domain and codomain: the domain is the fiber, 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. "Linear on each fiber" is now something you can see: 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 is 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:
Things worth trying: double \( v \) and watch \( \omega(w) \) double with it; the readout runs this linearity check for you, and it fails only 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 notice 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 exactly 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 vanish, since you end where you started. It doesn't vanish. The form \( d\theta \) is a local derivative with no global antiderivative, and the obstruction is, once again, the hole in the circle. This is the same phenomenon 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. In physics the same pattern runs deep: the electromagnetic field is a 2-form \( F = dA \), where \( A \) is exactly the kind of locally-defined, globally-obstructed object \( \theta \) was, and its failures to patch together are measurable in the lab.
Exercises
Nothing on this page is yours until you've computed 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 the whole sense in which \( U(1) \) is 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. The obstruction to one chart is precisely the global closing-up of the circle.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 as accounting.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 sign and orientation: it is \( 2\pi \) times the winding number, here \( -3 \).Where we are
Here is what we built, all on a one-dimensional base. The circle as a space and as the group \( U(1) \). Gauss's discovery that geometry can be done from inside, and the Linelander's discovery that some facts can't be: local measurements are blind to global structure. The tangent bundle as the one space that holds all the tangent lines, which for the circle factors as \( S^1 \times \mathbb{R} \). The Möbius strip as the proof that the factoring is a privilege, not a right, which forced the real definition: locally a product, globally glued by a structure group. That definition is the load-bearing wall of gauge theory and of differential geometry.
The next step is to build the instruments: the calculus of differential forms, which turns global twist into numbers you can compute, and culminates in the single most elegant equation in mathematics, the generalized Stokes theorem.