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
.