Today we’re going to talk about adjoint functors.
Definition: Let be a functor, and let be another functor. Then and are adjoint functors if for Obj and Ob, we have .
Maclane has famously stated in his seminal book that “adjoint functors arise everywhere”. However, what is the utility of such functors?
1. Solutions to Optimization Problems: Suppose you have an rng (which is a ring without the identity element), and you want to “adjoin” the minimal number of elements to the rng such that it becomes a ring. Explicitly, you want to adjoint to the rng, along with the elements for all . How can you solve this problem? For any fixed ring , consider the category in which the objects are morphisms of the form , where are unital rings. A morphism between the objects and is a morphism between and . Then the final object in this category is adjoined with the unity. This is the smallest ring which contains . Hence, this is the most efficient solution to our problem.
When we have a functor , we ask ourselves what is the problem to which is the most efficient solution. Then is the left adjoint of .
We have different formulations for adjoint functor. The unit-counit formulation says that and .
In terms of Hom isomorphism: An adjunction is a natural isomorphism between functors . What does this mean? We study the isomorphisms between functors from to . This natural isomorphism is given by . How is this a natural transformation between functors from to ? So we take a tuple , the make the following two functors act on it: and . Then the natural isomorphism is the isomorphism between these two functors. But why ? Why not just ? If one draws the commutative diagram, one will soon figure out that reversing the arrows in is a simple way of mapping to .