# Lecture 48 - Adjoint Functors

Last time I threw the definition of 'adjoint functor' at you. Now let me actually *explain* adjoint functors!

As we learned long ago, the basic idea is that adjoints give *the best possible way to approximately recover data that can't really be recovered*.

For example, you might have a map between databases that discards some data. You might like to reverse this process. Strictly speaking this is impossible: if you've truly discarded some data, you don't know what it is anymore, so you can't restore it. But you can still *do your best!*

There are actually two kinds of 'best': left adjoints and right adjoints.

Remember the idea. We have a functor \(F : \mathcal{A} \to \mathcal{B}\). We're looking for a nice functor \(G: \mathcal{B} \to \mathcal{A} \) that goes back the other way, some sort of attempt to reverse the effect of \(F\). We say that \(G\) is a **right adjoint** of \(F\) if there's a natural one-to-one correspondence between

- morphisms from \(F(a)\) to \(b\)

and

- morphisms from \(a\) to \(G(b)\)

whenever \(a\) is an object of \(\mathcal{A}\) and \(b\) is an object of \(\mathcal{B}\). In this situation we also say \(F\) is a **left adjoint** of \(G\).

The tricky part in this definition is the word 'natural'. That's why I had to explain natural transformations. But let's see how far we can get understanding adjoint functors without worrying about this.

Let's do an example. There's a category \(\mathbf{Set}\) where objects are sets and morphisms are functions. And there's much more boring category \(\mathbf{1}\), with exactly one object and one morphism. Today let's call that one object \(\star\), so the one morphism is \(1_\star\).

In Puzzle 135 we saw there is always exactly one functor from any category to \(\mathbf{1}\). So, there's exactly one functor

$$ F: \mathbf{Set} \to \mathbf{1} $$

This sends every set to the object \(\star\), and every function between sets to the morphism \(1_\star\).

This is an incredibly destructive functor! It discards *all* the information about every set and every function! \(\mathbf{1}\) is like the ultimate trash can, or black hole. Drop data into it and it's *gone*.

So, it seems insane to try to 'reverse' the functor \(F\), but that's what we'll do. First let's look for a right adjoint

$$ G: \mathbf{1} \to \mathbf{Set} .$$

For \(G\) to be a right adjoint, we need a natural one-to-one correspondence between morphisms

$$ m: F(S) \to \star $$

and morphisms

$$ n: S \to G(\star) $$

where \(S\) is any set.

Think about what this means! We know \(F(S) = \star\): there's nothing else it could be, since \(\mathbf{1}\) has just one object. So, we're asking for a natural one-to-one correspondence between the set of morphisms

$$ m : \star \to \star $$

and the set of functions

$$ n : S \to G(\star) .$$

This has got to work for every set \(S\). This should tell us a lot about \(G(\star)\).

Well, there's just *one* morphism \( m : \star \to \star\), so there had better be just one function \(n : S \to G(\star)\), *for any set* \(S\). This forces \(G(\star)\) to be a set with just one element. And that does the job! We can take \(G(\star)\) to be *any* set with just one element, and that gives us our left adjoint \(G\).

Well, okay: we have to say what \(G\) does to *morphisms*, too. But the only morphism in \(\mathbf{1}\) is \(1_\star\), and we must have \(G(1_\star) = 1_{G(\star)} \), thanks to how functors work.

(Furthermore you might wonder about the 'naturality' condition, but this example is so trivial that it's automatically true.)

So: if you throw away a set into the trash bin called \(\mathbf{1}\), and I say "wait! I want that set back!", and I have to make up something, the right adjoint procedure says "pick any one-element set". Weird but true. When you really understand adjoints, you'll have a good intuitive sense for why it works this way.

What about the left adjoint procedure? Let's use \(L\) to mean a left adjoint of our functor \(F\):

**Puzzle 149.** Again suppose \(F: \mathbf{Set} \to \mathbf{1}\) is the functor that sends every set to \(\star\) and every function to \(1_\star\). A *left* adjoint \(L : \mathbf{1} \to \mathbf{Set} \) is a functor for which there's a natural one-to-one correspondence between functions

$$ m: L(\star) \to S $$

and morphisms

$$ n: \star \to F(S) $$

for every set \(S\). On the basis of this, try to figure out all the left adjoints of \(F\).

Let's also try some slightly harder examples. There is a category \(\mathbf{Set}^2\) where an object is a pair of sets \( (S,T)\). In this category a morphism is a pair of functions, so a morphism

$$ (f,g): (S,T) \to (S',T') $$

is just a function \(f: S \to S'\) together with function \(g: T \to T'\). We compose these morphisms componentwise:

$$ (f,g) \circ (f',g') = (f\circ f', g \circ g') . $$

You can figure out what the identity morphisms are, and check all the category axioms.

There's a functor

$$ F: \mathbf{Set}^2 \to \mathbf{Set} $$

that discards the second component. So, on objects it throws away the second set:

$$ F(S,T) = S $$

and on morphisms it throws away the second function:

$$ F(f,g) = f .$$

**Puzzle 150.** Figure out all the right adjoints of \(F\).

**Puzzle 151.** Figure out all the left adjoints of \(F\).

There's also a functor

$$ \times: \mathbf{Set}^2 \to \mathbf{Set} $$

that takes the Cartesian product, both for sets:

$$ \times (S,T) = S \times T $$

and for functions:

$$ \times (f,g) = f \times g $$

where \((f\times g)(s,t) = (f(s),g(t))\) for all \(s \in S, t \in T\).

**Puzzle 152.** Figure out all the right adjoints of \(\times\).

**Puzzle 153.** Figure out all the left adjoints of \(\times\).

Finally, there's also a functor

$$ + : \mathbf{Set}^2 \to \mathbf{Set} $$

that takes the disjoint union, both for sets:

$$ + (S,T) = S + T $$

and for functions:

$$ +(f,g) = f + g .$$

Here \(S + T\) is how category theorists write the disjoint union of sets \(S\) and \(T\). Furthermore, given functions \(f: S \to S'\) and \(g: T \to T'\) there's an obvious function \(f+g: S+T \to S'+T'\) that does \(f\) to the guys in \(S\) and \(g\) to the guys in \(T\).

**Puzzle 152.** Figure out all the right adjoints of \(+\).

**Puzzle 153.** Figure out all the left adjoints of \(+\).

I think it's possible to solve all these puzzles even if one has a rather shaky grasp on adjoint functors. At least try them! It's a good way to start confronting this new concept.

**To read other lectures go here.**