The Unapologetic Mathematician

Mathematics for the interested outsider

Adjoints and universality

Now we have the notion of an adjunction, along with its unit and counit. It’s time to start tying them back into universality.

The unit of an adjunction picks out, for each object C, an arrow \eta_C:C\rightarrow G(F(C)). This arrow is an object in the comma category (C\downarrow G). And, amazingly enough, it’s an initial object in that category. Given any other object D\in\mathcal{D} and arrow d:C\rightarrow G(D) we need to find an arrow f:F(C)\rightarrow D in \mathcal{D} so that d=G(f)\circ\eta_C. Since d\in\hom_\mathcal{C}(C,G(D)) the obvious guess is f=\Phi_{C,D}^{-1}(d)=\epsilon_D\circ F(d). Then we can calculate:
G(\epsilon_D\circ F(d))\circ\eta_C=G(\epsilon_D)\circ G(F(d))\circ\eta_C=G(\epsilon_D)\circ\eta_{G(D)}\circ d=d
where the second equality uses the naturality of \eta and the third uses the “quasi-inverse” condition we discussed yesterday.

So, an adjunction means that for each and every object C\in\mathcal{C} the component of the unit \eta_C gives a universal arrow from C to G. Dually, for every object D\in\mathcal{D} the component of the counit \epsilon_D gives a couniversal arrow from F to D.

On the other hand, let’s say we start out with a functor G:\mathcal{D}\rightarrow\mathcal{C} and for each C\in\mathcal{C} an object F_O(C) and an arrow \eta_C:C\rightarrow G(F_O(C)) that is universal from C to G. Then given an arrow c:C\rightarrow C' we can build an arrow \eta_{C'}\circ c:C\rightarrow G(F_O(C')). By the universality of \eta_C there is then a unique arrow F_M(c):F_O(C)\rightarrow F_O(C') so that \eta_{C'}\circ c=G(F_M(c))\circ\eta_C. It’s straightforward now to show that F_O and F_M are the object and morphism functions of a functor F:\mathcal{C}\rightarrow\mathcal{D}, and that \eta:1_\mathcal{C}\rightarrow G\circ F is a natural transformation.

Now, say we have functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} and a natural transformation \eta:1_\mathcal{C}\rightarrow G\circ F so that each \eta_C:C\rightarrow G(F(C)) is universal from C to G. Given an arrow f:C\rightarrow G(D), there is (by universality of \eta_C) a unique arrow g:F(C)\rightarrow D so that f=G(g)\circ\eta_C. This sets up a bijection \Phi_{C,D}:\hom_\mathcal{D}(F(C),D)\rightarrow\hom_\mathcal{C}(C,G(D)) defined by \Phi_{C,D}(g)=G(g)\circ\eta_C. This construction is natural in C because \eta_C is, and it’s natural in D because G is a functor. And so this data is enough to define an adjunction F\dashv G:\mathcal{C}\rightarrow\mathcal{D}.

Dually, we can start with a functor F:\mathcal{C}\rightarrow\mathcal{D} and for each D\in\mathcal{D} an object G_O(D)\in\mathcal{C} and an arrow \epsilon_D:F(G_O(D))\rightarrow D universal from F to D. Then we can build G_O up into a functor G:\mathcal{D}\rightarrow\mathcal{C} and \epsilon up into a natural transformation with each component a couniversal arrow. And this is enough to define an adjunction F\dashv G:\mathcal{C}\rightarrow\mathcal{D}.

And, of course, we know that giving a universal arrow \eta_C from C to G is equivalent to giving a representation of the functor \hom_\mathcal{C}(C,G(\underline{\hphantom{X}})):\mathcal{D}\rightarrow\mathbf{Set}, and dually.

So we have quite a long list of ways to specify an adjunction

  • Functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} and a natural isomorphism \Phi_{C,D}:\hom_\mathcal{D}(F(C),D)\rightarrow\hom_\mathcal{C}(C,G(D))
  • Functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} and natural transformations \eta_C:C\rightarrow G(F(C)) and \epsilon_D:F(G(D))\rightarrow D satisfying (1_G\circ\epsilon)\cdot(\eta\circ1_G)=1_G and (\epsilon\circ1_F)\cdot(1_F\circ\eta)=1_F
  • A functor G:\mathcal{D}\rightarrow\mathcal{C} and for each C\in\mathcal{C} an object F_O(C)\in\mathcal{D} and a universal arrow \eta_C:C\rightarrow G(F_O(C))
  • A functor F:\mathcal{C}\rightarrow\mathcal{D} and for each D\in\mathcal{D} an object G_O(D)\in\mathcal{C} and a couniversal arrow \epsilon_D:F(G_O(D))\rightarrow D
  • A functor G:\mathcal{D}\rightarrow\mathcal{C} and for each C\in\mathcal{C} a representation \phi_C of the functor \hom_\mathcal{C}(C,G(\underline{\hphantom{X}})):\mathcal{D}\rightarrow\mathbf{Set}
  • A functor F:\mathcal{C}\rightarrow\mathcal{D} and for each D\in\mathcal{D} a representation \phi_D of the functor \hom_\mathcal{D}(F(\underline{\hphantom{X}}),D):\mathcal{C}\rightarrow\mathbf{Set}
  • Functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} and a natural transformation \eta:1_\mathcal{C}\rightarrow G\circ F so that each component \eta_C is universal from C to G
  • Functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} and a natural transformation \epsilon:F\circ G\rightarrow1_\mathcal{D} so that each component \epsilon_D is universal from F to D

July 19, 2007 - Posted by | Category theory

2 Comments »

  1. […] by finding a collection of universal arrows, which (along with the forgetful functor ) is one of the many ways we listed to specify an […]

    Pingback by Functoriality of Tensor Algebras « The Unapologetic Mathematician | October 28, 2009 | Reply


Leave a comment