Adjoint Functors

by ayushkhaitan3437

Today we’re going to talk about adjoint functors.

Definition: Let L:C\to D be a functor, and let R:D\to C be another functor. Then L and R are adjoint functors if for X\in Obj(C) and Y\in Ob(D), we have Mor_C(X,RY)\simeq Mor_D(LX,Y).

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 1 to the rng, along with the elements r\pm 1 for all r\in rng. How can you solve this problem? For any fixed ring R, consider the category E in which the objects are morphisms of the form R\to S_j, where S_j are unital rings. A morphism between the objects R\to S_i and R\to S_j is a morphism between S_i and S_j. Then the final object in this category is R adjoined with the unity. This is the smallest ring which contains R. Hence, this is the most efficient solution to our problem.

When we have a functor L, we ask ourselves what is the problem R to which L is the most efficient solution. Then L is the left adjoint of R.

We have different formulations for adjoint functor. The unit-counit formulation says that 1_c=R\circ L and 1_D=L\circ R.

In terms of Hom isomorphism: An adjunction L\vdash R is a natural isomorphism between functors C^{op}\times D\to Set. What does this mean? We study the isomorphisms between functors from C^{op}\times D to Set. This natural isomorphism is given by Hom_C(X,RY)\simeq Hom_D(LX,Y). How is this a natural transformation between functors from C^{op}\times D to Set? So we take a tuple (X,Y)\in C\times D, the make the following two functors act on it: (X,Y)\to Hom(LX,Y) and (X,Y)\to Hom(X,RY). Then the natural isomorphism is the isomorphism between these two functors. But why C^{op}? Why not just C? If one draws the commutative diagram, one will soon figure out that reversing the arrows in C is a simple way of mapping Hom(RX,Y) to Hom(X,LY).