Push-Forwards and Pull-Backs

When studying pure mathematics, one may come across the terms push-forward and pull-back. They appear in various contexts, and as a naturally curious student, I wondered if there is an underlying principle connecting them.

It turns out there is! In this post, I will explain this principle and provide some examples.

As with many topics in mathematics—especially in category theory—this is not a deep theorem, but rather a useful framework to keep in mind. Often, understanding the structure of a problem is more important than any technical theorem or proof.

Let’s look at some examples:

  • In measure theory, one speaks of the push-forward measure (or image measure). This is the object we refer to when talking about the distribution of a random variable.
  • In differential geometry, one has the push-forward (or differential) of tangent vectors, which arises from the derivative of a map between manifolds, \(df_x : T_x M \longrightarrow T_{f(x)} N.\)
  • In algebraic topology, one encounters the push-forward of chains or cycles (sometimes called the “push-forward on homology groups”) and the pull-back in cohomology (e.g., when constructing cup products).

The situation is one of the most general in mathematics. Given two objects

$ X,\, Y $

and a map between them:

when we talk about a push-forward along $f$, we mean a construction that takes an object $\alpha$ on $X$ and produces an object $ f_{*} \alpha $ on $Y$. Similarly, when we speak of a pull-back along $f$, we mean a construction that takes an object $\beta$ on $Y$ and produces an object $f^{*}\beta$ on $X$. (Notice the position of the star.)

Pull-Back and Push-Forward: A Diagrammatic View

Before looking into the examples—this blog aims to give visual intuition, after all—let us look at some diagrams.

Pull-Back

Again consider a morphism \(f : X \to Y.\) Given an abstract structure represented by a morphism

the pull-back along $f$ is defined by pre-composition: \(f^*(\beta) = \beta \circ f.\) This is depicted by the commutative diagram

So we are pulling back the domain of the function.

Push-Forward

Conversely, consider an abstract structure associated with $X$, denoted by \(\alpha : A \to X.\) The push-forward along $f$, written as $f_{*}(\alpha)$, is the structure on $Y$ obtained by transporting $\alpha$ via $f$. This is illustrated by the diagram

Here, the diagram indicates that the structure $\alpha$ on $X$ is carried forward along $f$ to yield a corresponding structure on $Y$.

Here we are pushing-forward the co-domain of $\alpha$.

Dualizing in Functional Analysis

We can also push forward using functors, completely analogously! That is, given two categories and a functor between them, we can push-forward/pull-back by pre- or post-composing with another functor, respectively.

Consider a real vector space $X$ and a morphism $f : X \to Y$. We can consider the space of continuous linear functions, i.e., the dual space of both $X$ and $Y$. By applying the contravariant Hom-functor, \(\operatorname{Hom}(-, \mathbb{R}),\) which assigns to each vector space the set of all continuous linear maps from that space to $\mathbb{R}$, we obtain a functorial action. Applying this functor to our morphism $f$ yields $f^*$, which works via pre-composition: \(f^{*}(y^{*}) = y^{*} \circ f\) where $y^*$ is a functional on $Y$. Thus, a contravariant functor sends morphisms to pull-backs.

Push-Forward Measure

Another classic example is the push-forward measure (or image measure).

Suppose $\mu$ is a measure on a sigma-algebra defined on $X$, and $f\colon X \to Y$ is a measurable map. We cannot simply compose $f$ with $\mu$ (i.e., $ f \circ \mu $ does not make sense). Instead, we first apply the “power set functor” defined by \(F^{-1} : \mathbf{Set} \to \mathbf{Set}, \quad F^{-1}(X) = \mathcal{P}(X),\) which sends a set to its power set and a function $f: X \to Y$ to its preimage function \(f^{-1}: \mathcal{P}(Y) \to \mathcal{P}(X).\) This functor is contravariant, meaning it reverses arrows. Then, we define the push-forward measure $f_{*}\mu$ on $Y$ by applying another functor—namely, the contravariant Hom-functor from earlier, now viewed as \(\operatorname{Hom}(-, \mathcal{P}(Y)),\) which takes a map from $\mathcal{P}(Z) \to \mathcal{P}(X)$ and sends it to the map that acts on maps into $\mathcal{P}(Y)$ via precomposition. As in functional analysis, we can denote this with an upper star.

In total, we compose two contravariant functors, making the resulting functor covariant again; hence we get the name—push-forward measure, pushing-along \(f_{*}\mu (A) = (F^{-1}(f))^*\mu\bigl(A\bigr) = \mu\bigl(f^{-1}(A)\bigr),\) for measurable sets $A \subseteq Y$. In this way, we “push” the measure $\mu$ from $X$ to $Y$.

Pull-Back in Measure Theory

In contrast to pushing forward a measure, one often pulls back integrable functions from $Y$ to $X$. For example, if \(g\colon Y \to \mathbb{R}\) is integrable, then $g \circ f$ is a function on $X$. We then have the fundamental relation: \(\int_{X} (g \circ f)\, d\mu = \int_{Y} g \, d\!\bigl(f_{*}\mu\bigr),\) which connects the pull-back of functions with the push-forward of measures.

Push-Forward of Simplices or Cycles (Algebraic Topology)

Given a continuous map \(f\colon X \to Y,\) one can push forward singular chains from $X$ to $Y$ by applying $f$ to the vertices of each simplex, thereby inducing a map on homology: \(f_{*}\colon H_{*}(X)\to H_{*}(Y).\) This construction captures the idea of “pushing” topological cycles forward along $f$.

Push-Forward Differential

Suppose \(f \colon M \to N\) is a differentiable map between manifolds. At each point $x \in M$, the differential is the linear map \(df_x \colon T_x M \longrightarrow T_{f(x)} N.\) It sends a tangent vector $v \in T_x M$ to its push-forward in $T_{f(x)} N$. In this sense, $df_x$ “pushes forward” the infinitesimal directions at $x$ in $M$ to directions at $f(x)$ in $N$.