
F(f) F(c) > F(c') _{ }   T_{c}   T_{c'} _{ }   _{ } V V G(c) > G(c') G(f)This condition says that the transformation T gets along with all the "symmetries", or more precisely morphisms f, in the category C. We can do it either before or after applying one of these symmetries, and we get the same result. For example, a vector space construction which depends crucially on a choice of basis will fail this condition if we take f to be a linear transformation corresponding to a change of basis.
A "natural isomorphism" is then just a natural transformation that's invertible, or in other words, one for which all the morphisms T_{c} are isomorphisms.
Okay. Hopefully that explains the idea of "naturality" a bit better. But right now we are trying to figure out what we mean by saying that hom(Lc,d) and hom(c,Rd) are naturally isomorphic. To do this, we need to introduce a couple more ideas: the product of categories, and the opposite of a category.
First, just as you can take the Cartesian product of two sets, you can take the Cartesian product of two categories, say C and D. It's not hard. An object of C × D is just a pair of objects, one from C and one from D. A morphism in C × D is just a pair of morphisms, one from C and one from D. And everything works sort of the way you'd expect.
Second, if you have a category C, you can form a new category C^{op}, the opposite of C, which has the same objects as C, and has the arrows in C turned around backwards. In other words, a morphism f: × → y in C^{op} is defined to be a morphism f: y → x in C, and the composite fg of morphisms in C^{op} is defined to be their composite gf in C. C^{op} is like a throughthelookingglass version of C where they do everything backwards. A functor F: C^{op} → D is also called a "contravariant" functor from C to D, since we can think of it as a screwy functor from C to D with F(fg) = F(g)F(f) instead of the usual F(fg) = F(f)F(g). Whenever you see this perverse contravariant behavior going on, you should suspect an opposite category is to blame.
Now, it turns out that we can think of the "hom" in a category C as a functor
hom(,): C^{op} × C → Set
Here the 's denote blanks to be filled in. Obviously, for any object (x,x') in C^{op} × C, there is a nice juicy set hom(x,x'), the set of all morphisms from × to x'. But what if we have a morphism
(f,f'): (x,x') → (y,y')
in C^{op} × C? For hom(,) to be a functor, we should get a nice juicy function
hom(f,f'): hom(x,x') → hom(y,y').
How does this work? Well, remember that a morphism (f,f') as above is really just a pair consisting of a morphism f: × → y in C^{op} and a morphism f': x' → y' in C. A morphism f: × → y in C^{op} is just a morphism f: y → × in C. Now say we have an unsuspecting element g of hom(x,x') and we want to hit it with hom(f,f') to get something in hom(y,y'). Here's how we do it:
hom(f,f'): g → f'gf
We compose it with f' on the left and f on the right! Composing on the left is a nice covariant thing to do, but composing on the right is contravariant, which is why we needed the opposite category C^{op}.
Okay, now back to our adjoint functors L: C → D and R: D → C. Now we are ready to say what we mean by hom(Lc,d) and hom(c,Rd) being naturally isomorphic. Using the stuff we have set up, we can define two functors
hom(L,): C^{op} × D → Sets
and
hom(,R): C^{op} × D → Sets
and we are simply saying that for L and R to be adjoints, we demand the existence of a natural isomorphism between these functors!
Of course, this seems abstract, but if you work it out in some of the examples of adjoint functors given in "week76" you'll see it all makes good sense.
Now let me start explaining what this all has to do with quantum theory. (I'll put off the topology until next Week.) First of all, the "hom functor" we introduced,
hom(,): C^{op} × C → Set
should remind you a whole lot of the inner product on a Hilbert space H. The inner product is linear in one slot and conjugatelinear in the other, just like hom is covariant in one slot and contravariant in the other. In fact, the inner product can be thought of as a bilinear map
<,>: H^{op} × H → C
where H^{op}, the "opposite" Hilbert space, is like H but with a complex conjugate thrown into the definition of scalar multiplication, and here C denotes the complex numbers!
Second of all, the definition of adjoint functor, with hom(Lc,d) and hom(c,Rd) being naturally isomorphic, should remind you of adjoint linear operators on Hilbert spaces. If we have a linear operator L: H → K from a Hilbert space H to a Hilbert space K, its adjoint R: K → H is given by
<Lh,k> = <h,Rk>
for all h in H and k in K.
In fact, the whole situation with adjoint functors is a kind of "categorified" version of the situation with adjoint linear operators. Everything has been boosted up one notch on the ncategorical ladder. What I mean is this: the Hilbert spaces H and K above are sets, with elements h and k, while the categories C and D are categories, with objects c and d. The inner product of two elements of a Hilbert space is a number, while the hom of two objects in a category is a set. Most interesting, the definition of adjoint operators requires that <Lh,k> and <h,Rk> be equal, while the definition of adjoint functors requires only that <Lc,d> and <c,Rd> be naturally isomorphic.
So we can think of adjoints in category theory as a boostedup version of the adjoints in quantum theory. But these days, I prefer to think of the adjoints in quantum theory as a watereddown or "decategorified" version of the adjoints in category theory. The reason is that categorification  as noted by Louis Crane, who I believe invented the term  is a risky, hitormiss business, while decategorification is much more systematic. Decategorification is the simply the process of neglecting the difference between isomorphism and equality. If we start with an ncategory and then get lazy and decide to think of invertible nmorphisms as equations between the (n1)morphisms, we get an (n1)category. If we keep slacking off like this, before you know it we're doing set theory! The final stage of decategorification is when we get sloppy and instead of keeping track of set, we merely record the number of its elements.
It's amusing to imagine this process of decategorification as one of those elaborate Gnostic myths about the Fall. We start in the paradise of ωcategories (or perhaps even higher up), but by the repeated sin of confusing equality with isomorphism we fall all the way down the ncategorical ladder to the crude world of sets, or worse, simply numbers. But all this happened a long time ago: now we need to work our butt off to climb back up! In other words, historically our early ancestors dealt with finite sets by replacing them with something cruder: their numbers of elements. Counting is actually very handy, of course, but it can only tell if the cardinalities of two sets are equal; it doesn't address the problem of specific isomorphisms between sets. To climb back up the ncategorical ladder, we needed to start with the set N of natural numbers
0, 1, 2, 3, ...
and by dint of strenous mental effort realize that this is just the decategorification of the category FinSet of finite sets. (In fact, categorytheorists routinely use 2 to stand for the 2element set in the skeletal category equivalent to FinSet, and so on  see "week76".)
Now, you are certainly entitled to wonder if this elaborate mathematicaltheological fantasy is just a joke or if it has some practical spinoffs. For example, is there anything we can do with the analogy between adjoint operators and adjoint functors? As it turns out, there is. The point is that the analogy is not quite precise. For example, every linear operator has an adjoint, but not every functor has an adjoint  nor need it be "linear" in any sense. If we endeavor to make the analogy precise, we will invent a special sort of category called a "2Hilbert space" which is the precise categorified analog of a Hilbert space. And we will invent a nice sort of "linear" functor between these, and all such functors will have adjoints. Furthermore, in this situation all left adjoints will also be right adjoints... fixing another funny discrepancy. And these 2Hilbert spaces turn out to be closely related to 2dimensional topological quantum field theories (in general, nHilbert spaces appear to be related to ndimensional TQFTs), as well as some interesting aspects of group representation theory.
I'm busily writing a paper on exactly this stuff, but I have not explained enough category theory here to describe it in detail yet. For now, let me just make the connection between the hom(,) of category theory and the <,> of quantum theory more clear, and hopefully more plausible. If we have states h and h' in a Hilbert space, <h,h'> keeps track of the amplitude of getting from h to h'. (Often people will say "from h' to h", but here I think I really want to go the other way.) This is a mere number. If we have objects c and c' in a category, hom(c,c') is the actual set of ways to get from c to c', that is, the set of morphisms from c to c'.
When one computes transition amplitudes by summing over paths, as in Feynman path integrals, one is in a sense decategorifying, that is, turning a set of ways to get from here to there into a number, the transition amplitude. However, one is not just counting the ways, one is counting them "with phase".... and I must admit that the role of the complex numbers in quantum theory is still puzzling from this viewpoint. For some food for thought, you might want to check out Dan Freed's work on torsors, which are a categorified version of phases:
1) Higher algebraic structures and quantization, by Daniel Freed, Commun. Math. Phys. 159 (1994), 343398, also available as hepth/9212115.
To continue reading the "Tale of nCategories", click here.
© 1996 John Baez
baez@math.removethis.ucr.andthis.edu
