This post is a continuation of a previous post and part of a mini-series on category theory. As before, knowing the background of every single example is not necessary (nor sufficient) to grasp the general concept.
Previously, we have defined and discussed categories. However, studying categories as isolated objects with no relation to other categories would be a fruitless toil. It would also not be in the spirit of category theory, which studies everything through its relationship to other things. Yet the necessity to bring together distinct instances of the objects one is studying is not specific to category theory: For example, it’s hard to imagine studying group theory without studying group homomorphisms.
It should by now be clear that we are in dire need of a notion allowing us to connect different categories and to express relationships between them. It seems natural to let the definition of a category guide us to the definition of things that relate them. This plan comes to fruition in the conception of functors. These should be thought of as (homo)morphisms of categories, mappings preserving the structure categories have, i.e. identities and composition, just like a monoid homomorphism preserves the neutral element and the monoid operation.
The ubiquity with which functors arise is remarkable, and after some experience in thinking categorically it will become second nature to ask whether a construction behaves “functorially”.
Definition C2.1 Let and be categories, then a (covariant) functor consists of the following data:
- A map
- For any pair of objects a map
such that the following conditions hold:
- For every object we have
- For any three objects and morphisms we have .
Let us ponder for a moment how this definition generalizes familiar concepts.
Example C2.2 Let and be sets, then we can consider them as discrete categories (cf. C1.4), so that the elements of each set are the objects of the associated discrete category and the only morphisms are the identity morphisms. Then any map uniquely determines a functor between the associated discrete categories restricting to on the objects, as the only morphisms are identities and the definition of a functor requires sending identity morphisms to the corresponding identity morphisms in the target category. To summarize, functors between discrete categories correspond to maps between the underlying sets.
Example C2.3 Let and be monoids, considered as one-object categories. Then a functor has to send the unique object of to the unique object of . The action on morphisms is more interesting: from the definition of a functor, we see that a map of the underlying sets determines a functor if and only if it preserves the monoid operation and the identity, i.e. if and only if it is a monoid homomorphisms. Thus for monoids (and hence for groups), we can regard homomorphisms as functors.
Example C2.4 Let be a group, considered as a one-object category and let us consider functors to the category of sets (cf. C1.2), . Since has one proxy object , the value of corresponds to a choice of a particular set . As for the morphisms, we have for each a map such that and . These are precisely the axioms for a group action on , such that functors correspond to sets with a (left) -action, i.e. -Sets.
Example C2.5 By reasoning as in the last example, one can show that if is a field and we consider the category of vector spaces over with linear maps as morphisms, then functors correspond to representations of on vector spaces over .
Now we shall look into examples of particular functors.
Example C2.6 There are a plethora of so-called “forgetful” functors. These arise when you “forget” part of the structure of an object. In this case, the target category consists of objects with less structure than the source category.
For example, we can forget about the multiplication in a ring and are left with an abelian group, this gives rise to a forgetful functor from the category of rings to the category of abelian groups. We can then proceed on our path to oblivion and forget that an abelian group is abelian, yielding a forgetful functor from abelian groups to groups. Finally, every group is a set, giving rise to yet another forgetful functor. It should be noted that it is important to consider also the morphisms for these forgetful functors to work: every ring homomorphism is a homomorphism of abelian groups on the additive groups, every homomorphism of abelian groups is a group homomorphism and every group homomorphism is a map of sets. Another chain of forgetful functors goes from smooth complex varieties to complex manifolds, from complex manifolds to smooth manifolds, from smooth manifolds to topological manifolds, from topological manifolds to topological spaces and from topological spaces to sets, ending another journey of obliviousness in the same destination.
Forgetful functors are often implicitly applied, especially if one is not doing category theory. And indeed, it should deserve no particular mention that for instance, any group is a set. It can be quite helpful, however, to explicitly state when you apply them, for example to clarify in which category two objects are isomorphic or if you want to apply concepts or theorems on functors to a forgetful functor.
Example C2.7 One could say that the first example of functoriality is encountered in an introductory calculus class, although that would be a bit of a stretch.
Let be the category of pointed smooth manifolds, i.e. objects are pairs where is a smooth manifold and and morphisms are smooth maps such that . Then there’s the tangent space functor to the category of -vector spaces with linear maps that sends a pair to the tanget space of at and a morphism to the differential . The fact that this behaves functorially is an abstract version of the chain rule: , justifying the assertion on functoriality in calculus above.
Example C2.8 Let be the category of rings with ring homomorphisms as morphisms, then for any ring , the units form a group and ring homomorphisms preserve units so that a ring homomorphism restricts to a group homomorphism . We obtain a functor from to , the category of groups with group homomorphisms as morphisms.
Example C2.9 Let be an abelian group and , then there’s a functor from the category of topological spaces to the category of abelian groups that sends a space to the singular homology group . The fact that this is a functor is even part of the Eilenberg-Steenrod axioms for homology theories.
Example C2.10 Let be the category of topological spaces with continuous maps and let be the category of measurable spaces with measurable maps as morphisms. There’s a functor that equips a topological space with its Borel -algebra, turning it into a measurable space. Every continuous map is measurable with respect to the corresponding Borel -algebras, ensuring that this construction yields a functor.
Example C2.11 Not every constructions that seems in some sense “natural” can be turned into a functor. For example, we can associate to each group its center which is an abelian group. One could hope that this can be made into a functor. The problem is that central elements don’t necessarily get sent to central elements under a group homomorphism. Indeed, it is impossible to define any action on morphisms such that the assignment on objects becomes a functor, for the identity on the cyclic group on two elements factors through the inclusion of to as a transposition and the sign homomorphism . We have . However, the center of is itself, whereas the center of is trivial. If there was any functor that restricts to on objects, then we would get implying that the identity on factors over the trivial group, which is impossible.
Example C2.12 Let be a category and let , then for any object , we have a set and for a morphism , we can postcompose with , yielding a map . By associativity of composition and the definition of the identity elements, this construction yields a functor . These functors – affectionally called Hom-functors – are of paramount importance, as we shall see in future posts.
Example C2.13 We have said that functors can be thought of as morphisms between categories. This can be taken quite literally. To avoid Russel’s paradox and to ensure that our sets of morphisms will actually be sets, let’s restrict our attention to categories whose class of objects is actually a set, so-called “small” categories. There’s a (non-small!) category , in which the objects are small categories and morphisms are functors between small categories. Note that we have implicitly said that one can compose functors and that there’s an identity functor for each category.
All the previous examples of functors had one thing in common: they didn’t reverse the orientation of the arrows. Even so, there are other instances of functoriality. The following construction allows us to subsume those instances under the previous definition:
Definition C2.15 Let be a category, then the opposite category has the same objects. For , we set composition is defined like the composition in except in the opposite order.
Intuitively, we just reverse all the arrows.
Definition C2.16 Let and be categories, then a contravariant functor is a covariant functor .
For clarification, regular functors (as in definition C2.1) are called covariant, but if “functor” is used without specification, they are always covariant by default.
From this definition, it follows that a contravariant functor reverses the direction of morphisms when it is applied. (Hence the picture in the beginning of this section)
Example C2.16 Consider the category of sets . The assignment on objects can be made into a functor in two different ways, a covariant one and a contravariant one. For the covariant one, let be any map. Then we can define a map via , giving rise to the covariant powerset functor. For the contravariant one, we can define for a map a map via . In both cases the verification of the functorial properties is easy.
Example C2.17 Let be a field. Consider the category of finite separable extensions of with -linear field homomorphisms as morphisms. We can define a contravariant functor from to , the category of groups with group homomorphisms as morphisms, in the following manner: For an object , set and for a (necessarily injective) morphism , define to be the field norm . The transitivity formula for norms in towers translates into functoriality of this construction: For a tower of extensions we have .
A similar construction works for the field trace.
Example C2.18 Consider the category of compact Hausdorff spaces with continuous maps as morphisms. For any compact Hausdorff space , the continuous functions form a C*-algebra with pointwise operations (i.e. addition, multiplication, scalar multiplication and conjugation), denoted by . If and are compact Hausdorff spaces and is a continuous map, then we can define a homomorphism of C*-algebras by pulling back continuous functions along : for a continuous function , is a continuous function . We obtain a contravariant functor from the category of compact Hausdorff spaces to the category of commutative unital C*-algebras.
Example C2.19 As in the examples C2.4 and C2.5, if is a group, considered as a one-object category and we let be the category of sets or the category of -vector spaces for a field , then contravariant functors correspond to right -sets or right representations on vector spaces over , respectively.
Example C2.20 The construction from C2.12 has a contravariant sibling. Let be any category and . Then we have for any object in , a set and for a morphism , we get a map . This construction is a functor, called the contravariant Hom functor.