The pushforward and pullback maps in
mathematics are natural ways of mapping objects like
vectors and
one-forms from one differential
manifold to another, given a
map Φ: M
1 → M
2 between points on the two manifolds. The concepts are very abstract, but they can be concretely represented in computational form when we look at specific
coordinate systems on the manifolds.
The Pullback of a Function
We start with two manifolds M1 and M2, of dimension n1 and n2, respectively. Additionally, we have a smooth map Φ: M1 → M2. This map need only be well-defined and smooth; it does not have to be a one-to-one map, nor must it map onto the entire manifold M2. Now, let's look at the space of smooth functions f(q) on points {q} in M2. Is there a natural way to map these to the set of functions g(p) on points {p} in M1? That is, given a function f(q), can we use the map Φ to naturally produce a function g(p) defined on M1?
The answer is much simpler than the question. Simply note that the function f(Φ(p)) is a function well-defined on M1. In other words, we can use the original map Φ from the points in M1 to the points in M2 to produce a new map which we call Φ∗, the pullback map from functions on M2 to functions on M1, by the formula:
Φ∗ [ f ] (p) = f(Φ(p))
This is clearly well-defined; given any smooth function f(q) on M2, we can always use this formula to produce a function g(p) = f(Φ(p)) on M1. The pullback map is not generally one-to-one, nor does it always map onto the entire space of smooth functions on M1. In other words, we cannot generally "push forward" functions. In the special case that Φ is invertible, so is Φ∗; we can push functions forward simply by using the pullback of the inverse map.
To summarize, the pullback of a function defined on M2 is simply the function's representation on points in M1 which get mapped to points in M2 by the map Φ.
The Pushforward of a Vector
Now we abstract the concept further by considering the space of vectors at a given point p in the manifold M1, i.e. the tangent space TpM. We know that the space of vectors at this point can be considered the space of directional derivatives on smooth functions, evaluated at p. In other words, vectors are smooth maps acting on functions on M1. The space of smooth functions on M1 is itself a manifold, as is the space of smooth functions on M2. Let's call these manifolds F1 and F2. We have already constructed a map between these spaces; this is just the pullback map:
Φ∗: F2 → F1
Since vectors are themselves linear maps on F1, we should be able to find a natural map to vectors on F2, by pulling back again! We have to check that this map indeed produces a directional derivative, and not some general map, but for now accept that it will.
What does this map look like? Given a vector V in TpM1, this is a directional derivative map on functions on M1, given by the formula:
V [ g(p) ] = Vi∂g/∂xi|p,
where {xi} is a local coordinate system in the vicinity of p on M1. Now use the pullback map on functions to get a vector acting on functions in M2. This is what we will call the pushforward map, Φ∗:
Φ∗ V [ f(q) ] = V [ Φ∗f ] = V [ f(Φ(p)) ]
Let's get our head straight about things. V is a map on functions on M1. f(q) is a function on M2. Φ∗ V is a vector field defined on M2, which acts on functions f(q). Φ∗f is a function on points in M1, which is acted on by V.
Computation
We can just use the chain rule to evaluate this:
Φ∗ V [ f(q) ] = V [ f(Φ(p)) ] = Vi ∂f/∂xi = Vi (∂Φk/∂xi) ∂f/∂Φk = (∂yk/∂xi) ∂f/∂yk
Here, we're also using a local coordinate chart on M2, {yk}. We have simplified the notation by expressing Φ(p) in both of the coordinate representations as yk(xi).
We now have a natural map from TpM1 to TΦ(p)M2. We can think of this map as a matrix Aik = ∂yk/∂xi acting on the vector V. Aik is an n2 × n1 matrix, mapping the n1 components of V to the n2 components of Φ∗V. Note that Aik is coordinate-dependent. Notice also that we can push vectors forward, but we cannot pull them back, unless Φ has an inverse map. In other words, Aik is not generally an invertible matrix (It might not even have the same number of rows as columns).
Another way to see how the pushforward map acts on vectors is to look at another natural manifestation of the tangent vector space TpM1: velocities of curves passing through p. Since Φ maps points in M1 to points in M2, it naturally maps curves in M1 to curves in M2. It is easy to show that this is the same pushforward map that we defined on directional derivatives. The velocity of the mapped curve is given by the same chain rule as above. This is a nice way of picturing the pushforward map on vectors, as it requires no computation to properly visualize.
The Pullback of a One-Form
Just when you thought we couldn't take the definitions any deeper, we are about to define yet another pullback map. We know that one-forms are linear maps on vector fields, and therefore we can define the pullback of a one-form to be the one-form's action on pushed-forward vector fields:
Φ∗ω[ V ] = ω[ Φ∗V ]
Again, let's make sure we know what we're looking at. ω is a one-form in M2; that is, a linear map on vectors in M2. V is a vector in M1. ω cannot act directly on V, because they live on different manifolds. Φ∗ω a one-form in M1, which acts on vectors V in M1. This action of Φ∗ω on V in M1 is dictated by ω's action on the vector pushed forward to M2. That is exactly what we've written down.
Computation
Φ∗ω[ V ] = ω[ Aik Vi ∂/∂xk ]
= Aik Vi ω[ ∂/∂xk ]
= Vi Aik ωk
= (AT ω)i Vi
Thus, the pullback of a one-form is given by the action of the transposed matrix AT acting on its components. We might have expected this, especially if we note that A is an n2 × n1 matrix, while AT is an n1 × n2 matrix, which is exactly what we'd need to send the n2 components of ω to an n1-component one-form defined on M1.
In general, we can pull back any (0,k) tensor, and push forward any (k,0) tensor, the generalization being to simply multiply by additional copies of the matrix A or AT. However, we cannot do the reverse, nor can we push or pull any (l,m) tensor, for nonzero l and m, unless Φ is invertible. In the case where Φ is invertible, it is completely possible to push or pull tensors of any rank, essentially by multiplying by inverse matrices, where applicable. Obviously there are some details to be filled in, but you get the idea.
Examples
A readily available example shows up in the coordinate charts on a given manifold, M. Notice that any coordinate chart (usually also labeled Φ, which might normally confuse us, but in this case they are referring to the same function) is an invertible map between an open set in M and an open set in Rn. Therefore, we can pull functions on M back to functions on Rn. This is how we define things like continuity and differentiability, and in the case of complex manifolds, analyticity. We pull functions back to Rn, and evaluate these properties in a more concrete setting.
We can also push vectors from Rn to TpM, using a coordinate chart in a neighborhood of p. This is essentially what we are doing when we determine the components of a vector V, for a given coordinate system, given by Φ. Different coordinate charts will generally give us different push-forward maps, which give us different components for V.
The Special Case M1 = M2
Set M1 = M2 = M. In other words, look at bijective maps Φ: M → M from a manifold onto itself. In particular, look at a smoothly varying family of such maps, {Φpq}, where Φpq is a smooth, bijective map from M onto itself, which maps p to q. An example of this is the family of rotations on the manifold of S1, the circle. For any two points p and q on the circle, there is a unique rotation Φpq which sends p to q (rotations by θ and θ + 2π are considered to be indistinct).
We can define Φ-invariant vector fields on M to be vector fields which are invariant under the pushforward map Φpq∗: TpM → TqM. Thus, V(q) = Φpq∗ V(p). The set of Φ-invariant vector fields forms a vector space, since any two invariant vector fields can be added together to find another invariant vector field. It is easily seen that this vector space is equivalent to TpM, for any point p in the manifold, for we can push any tangent vector forward from p to every point q in the manifold, using Φpq∗, producing a manifestly invariant vector field: V(q) = Φpq∗ Vp. Since we can do this for any vector V at p, and since Φpq is bijective (by assumption here), we can output a unique invariant vector field V(q) given any vector Vp at p. Going back the other direction is even easier. Given an invariant vector field, we can get a unique vector Vp ∈ TpM, simply by evaluating the vector field at p: Vp = V(p). Notice also that these two maps are linear.
Let's make this more concrete with the example of rotations on the circle. Given a point p on the circle, and a vector Vp at p, we should be able to produce a Φ-invariant vector field for all {q} on the circle. In this simple case, the vector space is one-dimensional, so Vp = V ∂/∂θ|p, and the vector field is just constant: V(q) = V ∂/∂θ|q. In higher-dimensional examples, the Φ-invariant vector fields are less trivial.
We have now shown that there is a natural linear correspondence between TpM and the Φ-invariant fields on the manifold M. This is useful because it provides yet another manifestation of the tangent space, TpM, whenever the manifold M possesses a smooth family of maps Φpq, for all q ∈ M. This picture may seem circular, since it requires an understanding of vector fields, but it can be a powerful manifestation nonetheless, as it provides a connection between the local and the global.
The notation for pullback should be an upper-asterisk, and a lower-asterisk for pushforward. This will probably not resolve properly on most computers; it will most likely just look like a dot to you.