This short article is meant to serve as a supplement to a longer piece I am writing about the theory of connections. It concerns the definition of a somewhat technical but very important notion that, in my opinion, is often presented in an overly confusing way: what does it mean to give a fiber bundle the structure of a \(G\)-bundle? This constitutes my attempt to provide the explanation that I wish I had read when I first encountered this idea. In addition to the role it will serve in the discussion of connections that this article is meant to accompany, we will see that this concept subsumes a decent chunk of the types of structure one might want to put on a fiber bundle, and so is worth understanding in its own right.

This article is written with the assumption that the reader has some basic facility with the basics of differential topology, and in particular knows what a fiber bundle and a vector bundle are. While this theory applies more generally, it is safe to assume that every space we talk about is a smooth manifold and that every map is a smooth map.

Transition Functions

Consider a fiber bundle \(\pi:E\to M\) with standard fiber \(F\). This means there is a family of trivializations of \(E\), an open cover \(\{U_i\}\) of \(M\) and diffeomorphisms \(\phi_i:\pi^{-1}(U_i)\to U_i\times F\) which commute with the projection onto \(U_i\). (That is, the first coordinate of \(\phi_i(e)\) is \(\pi(e)\).)

Given some extra bit of structure on \(F\), we would like a way to insist that this structure also carry over to the whole bundle \(E\). We will endow \(F\) with a left action by some Lie group \(G\); the picture to keep in mind is that \(G\) is the group of symmetries that preserve whatever structure it is we are interested in. We assume throughout this discussion that this action is effective, i.e., that no nonidentity element of \(G\) acts as the identity on all of \(F\). Some examples are:

  • \(F\) has the structure of an \(n\)-dimensional vector space, and \(G=GL(n)\) consists of its linear automorphisms.
  • \(F\) is a vector space with some additional piece of structure, like an orientation, a volume form, or a metric, in which case \(G\) would be \(GL(n)^+\), \(SL(n)\), or \(O(n)\) respectively.
  • \(F\) is finite, say with \(n\) elements, and we have chosen a cyclic ordering of those elements. Then \(G\) should be \(\mathbb{Z}/(n)\).

We can phrase the requirement that \(E\) “inherits the structure coming from \(G\)” in terms of transition functions: given \(U_i\) and \(\phi_i\) as above, write \[\psi_{ij}=\phi_j\circ\phi_i^{-1}:(U_i\cap U_j)\times F\to (U_i\cap U_j)\times F.\] Then we will say that our chosen family of trivializations has structure group \(G\) if we can write each \(\psi_{ij}\) in terms of a smooth function \(g_{ij}:U_i\cap U_j\to G\), that is, \(\psi_{ij}(x,f)=(x,g_{ij}(x)\cdot f)\). This is meant to capture the idea that the transition functions preserve whatever structure of \(F\) we were trying to keep track of. For example, if \(F\) is a vector space, then having transition functions in \(GL(n)\) is exactly what we need to guarantee that, say, the sum of two vectors in the same fiber of \(E\) doesn’t depend on which trivialization we are using to identify that fiber with \(F\). When \(E\) has been endowed with a family of trivializations with structure group \(G\), we say we have given \(E\) the structure of a \(G\)-bundle.

We can apply this to each of the cases in the list above. When \(G=GL(n)\) and \(F=\mathbb{R}^n\) with the usual \(G\)-action, then giving \(E\) the structure of a \(G\)-bundle means giving a family of trivializations for which the transition functions are linear, that is, giving \(E\) the structure of a vector bundle. Similarly, taking \(G=GL(n)^+\), \(SL(n)\), or \(O(n)\) gives us an oriented vector bundle, a vector bundle with a chosen volume form, or a vector bundle with a metric. I encourage the reader to check that in the last example we get an \(n\)-sheeted covering space of \(M\) together with a cyclic order on each fiber that varies continuously as we move around \(M\).

It is worth being very explicit about when two families of trivializations with structure group \(G\) define the “same” \(G\)-bundle. (In fact, we are not really done defining \(G\)-bundles until we have answered this question!) Two ordinary fiber bundles are isomorphic if there is a fiberwise diffemorphism between them (that is, a diffeomorphism that commutes with the projection), but we want to be pickier about what we call an isomorphism of \(G\)-bundles; we would like a notion of isomorphism that respects whatever structure is preserved by the action of \(G\) on \(F\).

To write this down formally, first note that given two fiber bundles \(\pi:E\to M\) and \(\pi':E'\to M\), we may assume that there is a single open cover \(\{U_i\}\) which trivializes both by passing to a common refinement. Write \(\phi_i:\pi^{-1}(U_i)\to U_i\times F\) and \(\phi'_i:\pi'^{-1}(U_i)\to U_i\times F\) for the corresponding trivializations. Then, given an isomorphism of (ordinary) fiber bundles \(a:E\to E'\), consider the map \[a_i=\phi'_i\circ\phi_i^{-1}:U_i\times F\to U_i\times F.\] Where the transition functions \(\psi_{ij}\) told us what happens in each fiber as we pass from one trivialization to another, the functions \(a_i\) tell us what \(a\) does under just the \(i\)’th trivialization. By analogy with the transition functions, we will say that \(a\) is an isomorphism of \(G\)-bundles if, for each \(i\), there is a function \(g_i:U_i\to G\) for which \(a_i(x,f)=(x,g_i(x)\cdot f)\).

(If the action of \(G\) weren’t effective, we would have to identify more \(G\)-bundles with each other than are isomorphic according to this definition. To take the most extreme example, every \(G\)-bundle whose standard fiber is a one-element set is trivial, even though such a trivial bundle might be represented by many nonisomorphic sets of transition functions. However, we could cover cases like this just fine by passing to \(G/K\) where \(K\) is the normal subgroup consisting of everything that acts trivially on \(F\), so we will just continue to assume that the action is effective.)

There are a couple common points of confusion that are worth addressing right away. First, giving \(E\) the structure of a \(G\)-bundle does not give it a well-defined action of \(G\)! This is in contrast with other mathematical notions starting with a \(G\) and a hyphen, like \(G\)-set, \(G\)-representation, or \(G\)-module. (This difference can also be seen in our definition of isomorphism of \(G\)-bundles: we are not asking the map to commute with the action of \(G\), we are asking the map to come from the action of \(G\), since this action of \(G\) itself is what preserves the structure we care about.) Indeed, the only action of \(G\) in sight is the left action of \(G\) on \(F\), but the transition functions also act on the left; I encourage the reader to check that it is therefore not possible in general to turn the action on \(F\) into an action on \(E\).

We can see this explicitly in the cases discussed above. There is, for example no meaningful global action of \(GL(n)\) on an arbitrary vector bundle; this would require a canonical way to identify each fiber with \(\mathbb{R}^n\), which there is no reason to expect to be able to do.

Second, while it is possible to turn a \(G\)-bundle into an ordinary fiber bundle by forgetting about everything but the projection map, this process is neither injective nor surjective. That is, for a given action of \(G\) on \(F\), there might be fiber bundles with fiber \(F\) which can’t be made into \(G\)-bundles at all, and there might be ones which can be made into \(G\)-bundles in multiple nonisomorphic ways. You’ll find an example of both in the exercises. So being a \(G\)-bundle is not just a property that a fiber bundle might have; it is an extra piece of data in addition to the fiber bundle structure.

Principal Bundles

It is also possible to describe a \(G\)-bundle structure in a more “global” way, without referring to a choice of trivialization and its associated transition functions. In addition to being perhaps more aesthetically pleasing than the first definition, it also serves an important role in the theory in its own right.

We’ll motivate this new definition by starting with a special case. Let \(E\) be a vector bundle of rank \(n\) over \(M\). We mentioned in the previous section that \(E\) can be thought of as a \(GL(n)\)-bundle with standard fiber \(\mathbb{R}^n\). For any \(n\)-dimensional vector space \(V\), a frame of \(V\) is an ordered basis or, equivalently, an isomorphism \(\mathbb{R}^n\to V\). We will build a new fiber bundle over \(M\), called the frame bundle of \(E\), whose fiber over \(x\in M\) consists of the set of frames of the vector space \(E_x\). The frame bundle of \(E\) is denoted \(FE\).

Suppose for a moment that we have a family of trivializations of \(E\). Choosing one such trivialization identifies some of the fibers of \(E\) with \(\mathbb{R}^n\), and in so doing identifies those same fibers of \(FE\) with \(GL(n)\), since a frame of \(\mathbb{R}^n\) is the same as an isomorphism from \(\mathbb{R}^n\) to itself. Moreover, as we pass from one trivialization of \(E\) to another, we need to use the same transition functions for \(FE\) as the ones we used for \(E\): a frame is an isomorphism from \(\mathbb{R}^n\) to the fiber, and postmultiplying such an isomorphism by an element of \(GL(n)\) is exactly the left action of \(GL(n)\) on itself. (I encourage you to work out the details for yourself if you are not yet convinced.)

We can, in other words, form the frame bundle of \(E\) by using the same trivializations and transition functions as \(E\), but swapping in \(GL(n)\) for the standard fiber. But the resulting bundle has an important piece of structure that’s missing from \(E\): there is also a natural right action of \(GL(n)\) on itself and, because it commutes with the left action that we used to glue the bundle together, it extends to a well-defined right action of \(GL(n)\) on \(FE\). If a point of \(FE\) represents the isomorphism \(u:\mathbb{R}^n\to E_x\), then the right action by \(g\in GL(n)\) produces the isomorphism \(u\circ g\).

We may do the same thing to any \(G\)-bundle \(E\), producing a new \(G\)-bundle with standard fiber \(G\) but with the same transition functions as \(E\). A \(G\)-bundle with standard fiber \(G\) is called a principal \(G\)-bundle, and the result of the process we just described is called the associated principal bundle to \(E\). As we saw with the frame bundle, a principal \(G\)-bundle always comes with a globally well-defined right action of \(G\).

It is useful to think of a point of an associated principal bundle as a sort of “generalized frame” on the corresponding fiber. In the typical situation where \(G\) is the group of automorphisms of \(F\) that preserve some extra piece of structure, this can usually be made precise. For example, we may think of a vector bundle with a choice of metric as an \(O(n)\)-bundle with fiber \(\mathbb{R}^n\), in which case the associated principal bundle is called the orthonormal frame bundle; each of its points can be identified with a linear isometry from \(\mathbb{R}^n\) to the fiber.

Given a principal bundle, the right action by itself is actually enough to recover the \(G\)-bundle structure; we don’t actually need to specify any transition functions. Suppose we are given a fiber bundle \(\pi:P\to M\) and a right action of \(G\) on \(P\) which preserves fibers and which acts freely and transitively on each fiber. This forces the fibers to be diffeomorphic to \(G\), and in one of the exercises you can verify that (a) any family of trivializations which respects the \(G\)-action will produce transition functions with structure group \(G\), and (b) an isomorphism of fiber bundles which respects the \(G\)-action is also an isomorphism of \(G\)-bundles. (One way of stating the central observation is that a map \(\psi:G\to G\) commutes with the right action of \(G\) on itself if and only if, for some \(a\in G\), \(\psi(g)=ag\) for all \(g\).)

This gives us an alternative, more “global” definition of principal \(G\)-bundles: a principal \(G\)-bundle is a fiber bundle with a fiberwise right action of \(G\) that acts freely and transitively on each fiber. While this property guarantees that each fiber is diffeomorphic to \(G\), it is important to emphasize that this action does not give us a canonical way to identify each fiber with \(G\), because different trivializations will result in different identifications. Rather, a set with a free and transitive \(G\)-action is sometimes called a \(G\)-torsor; it can be thought of like a copy of \(G\) in which we have “forgotten” which point is the identity.

Since the isomorphism class of a \(G\)-bundle just depends on its transition functions and not on anything about the fibers, replacing a \(G\)-bundle with its associated principal bundle doesn’t lose any information — it gives a one-to-one correspondence between \(G\)-bundles with fiber \(F\) and principal \(G\)-bundles. We could describe the inverse of the associated principal bundle construction in terms of the transition functions again, but there is also a nice description in terms of the right action of \(G\) on \(P\). Given a principal \(G\)-bundle \(P\) and a manifold \(F\) with a left action of \(G\), write \(P\times_GF=P\times F/\sim\), where \(\sim\) is the equivalence relation identifying \((p\cdot g,f)\) with \((p,g\cdot f)\). I leave it to the reader to check that it can be given the structure of a \(G\)-bundle and that, if \(P\) is the principal bundle associated to \(E\), then \(P\times_GF\cong E\) as \(G\)-bundles.

Because we were able to define principal \(G\)-bundles without referring to transition functions, this also gives us a nice alternative way to define all \(G\)-bundles: if \(\pi:E\to M\) is a fiber bundle with fiber \(F\), then giving \(E\) the structure of a \(G\)-bundle amounts to picking both a principal \(G\)-bundle \(P\) and an isomorphism of fiber bundles \(P\times_GF\cong E\).

While the associated principal bundle construction gives us a one-to-one correspondence between principal \(G\)-bundles and \(G\)-bundles with any particular fiber, it is still often worth distinguishing between the objects on either side of this correspondence. For example, the sections of a \(G\)-bundle can look very different from the sections of its associated principal bundle. In particular, you will prove in the exercises that a principal bundle has a global section if and only if it is trivial but, say, every vector bundle has at least the zero section.


Our task was to describe what it means to give a fiber bundle \(E\) the structure of a \(G\)-bundle, and we’ve done it in two equivalent ways:

  1. We can specify a family of trivializations \(\phi_i:\pi^{-1}(U_i)\to U_i\times F\) for which the transition functions \(\psi_{ij}=\phi_j\circ\phi_i^{-1}\) can be written using the action of \(G\) on \(F\). Two such families of trivializations describe isomorphic \(G\)-bundles if, after passing to a common refinement, there is an isomorphism of fiber bundles which, over each open set in the chosen family, can be written using the action of \(G\) on \(F\).
  2. Alteratively, we can specify a principal \(G\)-bundle \(P\) and an isomorphism of fiber bundles \(E\cong P\times_GF\). From this perspective, \(E\) is isomorphic to another \(G\)-bundle \(E'\cong P'\times_GF\) if we can find an isomorphism of principal bundles — that is, a \(G\)-equivariant fiber bundle isomorphism — from \(P\) to \(P'\). (Such a map will then induce an isomorphism of fiber bundles from \(E\) to \(E'\).)


  1. Prove that a principal bundle is trivial if and only if it has a global section.
  2. Suppose \(E\) is a \(G\)-bundle over \(M\) with fiber \(F\) and \(P\) is its associated principal bundle. Construct natural maps \(q:P\times F\to E\) and \(\tau:P\times_ME\to F\). (Here \(P\times_ME\) is the ordinary fiber product: the space of pairs of points, one from \(P\) and and one from \(E\), lying over the same point of \(M\).) When \(E\) is a vector bundle and \(P\) is its frame bundle, give a geometric description of \(q\) and \(\tau\).
  3. Suppose we have an open cover \(\{U_i\}\) of \(M\) and, for each \(i,j\), a smooth map \(\psi_{ij}:U_i\cap U_j\to G\). We say that this collection of maps is a cocycle if for all \(i,j,k\) \(\psi_{jk}\circ\psi_{ij}=\psi_{ik}\) on \(U_i\cap U_j\cap U_k\).

    Prove that any cocycle arises as the set of transition functions for a \(G\)-bundle. When do to two cocycles correspond to the same \(G\)-bundle? (Remember that they might come from two different open covers.)

    We call the resulting set of equivalence classes \(\check{H}^1(M;G)\). When \(G\) is not abelian, though, this notation is somewhat misleading: it is just a pointed set, not a group, and there is no corresponding \(\check H^i(M;G)\) for \(i>1\).

    1. Suppose \(F\) is an \(n\)-element set. A fiber bundle with fiber \(F\) is then simply an \(n\)-sheeted covering space.

      Let \(M\) be a circle, and let our open cover consist of two open arcs \(U_1,U_2\) which intersect in two disjoint intervals:

      Take \(G\subseteq S_n\) with the usual action on the \(n\)-element set. Then any cocycle consists of a single smooth map \(U_1\cap U_2\to G\), which, since \(G\) is discrete, can be specified by one element of \(G\) for each of the two components of the intersection. If those two elements are \(g_1\) and \(g_2\), write \([g_1,g_2]\) for the corresponding cocycle.

      Show that any cocycle is equivalent to one for which \(g_2\) is the identity, and that \([g_1,1]\) is equivalent to \([g_1',1]\) if and only if \(g_1\) and \(g_1'\) are conjugate.

    2. Find a three-sheeted covering space of the circle which can’t be given the structure of a \(\mathbb{Z}/(3)\)-bundle, and find two nonisomorphic \(\mathbb{Z}/(3)\)-bundles on the circle which are isomorphic as covering spaces.
  4. Suppose \(\pi:P\to M\) is a fiber bundle with a right action of \(G\) which preserves fibers and which acts freely and transitively on each fiber.

    1. Prove that \(P\) can be given the structure of a \(G\)-bundle with standard fiber \(G\) where the right action arises through the recipe discussed in this article.
    2. If \(\pi:P'\to M\) is another fiber bundle with the same kind of right \(G\)-action, prove that an isomorphism of fiber bundles \(a:P\to P'\) which commutes with the \(G\)-action must also be an isomorphism of \(G\)-bundles.