There’s another construct in differential topology and geometry that isn’t quite so obvious as a tangent vector, but which is every bit as useful: a cotangent vector. A cotangent vector at a point is just an element of the dual space to , which we write as .
We actually have a really nice example of cotangent vectors already: a gadget that takes a tangent vector at and gives back a number. It’s the differential, which when given a vector returns the directional derivative in that direction. And we can generalize that right away.
Indeed, if is a smooth germ at , then we have a linear functional defined for all tangent vectors . We will call this functional the differential of at , and write .
If we have local coordinates at , then each coordinate function is a smooth function, which has differential . These actually furnish the dual basis to the coordinate vectors . Indeed, we calculate
That is, evaluating the coordinate differential on the coordinate vector gives the value if and otherwise.
Of course, the define a basis of at every point , just like the define a basis of at every point . This was exactly what we needed to compare vectors — at least to some extent — at points within a local coordinate patch, and let us define the tangent bundle as a -dimensional manifold.
In exactly the same way, we can define the cotangent bundle . Given the coordinate patch we define a coordinate patch covering all the cotangent spaces with . The coordinate map is defined on a cotangent vector by
Everything else in the construction of the cotangent bundle proceeds exactly as it did for the tangent bundle, but we’re missing one thing: how to translate from one basis of coordinate differentials to another.
So, let’s say and are two coordinate maps at , defining coordinate differentials and . How are these two bases related? We can calculate this by applying to :
This has the same values on each of the as does, and we conclude that they are, in fact, the same cotangent vector:
On the other hand, recall that
That is, we use the Jacobian of one transition function to transform from the basis to the basis of , but the transpose of the same Jacobian to transform from the basis to the basis of . And this is actually just as we expect, since the transpose is actually the adjoint transformation, which automatically connects the dual spaces.