Last week Yan Zhang asked me the following: is there a way to realize vector spaces as categories so that adjoint functors between pairs of vector spaces become adjoint linear operators in the usual sense?


It seems as if one needs to declare an inner product by fiat for this to work out. An obvious approach is to take the objects to be vectors and hom(v, w) to be the inner product (so the category should be enriched over C). But I don't see how composition works out here, and Yan says he tried this and it didn't work out as cleanly as he wanted. In this setup I guess we want the category to be additive and the biproduct to be vector addition, but I have no idea whether this actually happens. I think John Baez's ideas about categorified linear algebra, especially categorified Hilbert spaces, are relevant here but I don't understand them well enough to see how they work out. 


Anyone who actually knows some category theory care to clear things up?



Can adjoint linear transformations be naturally realized as adjoint functors?
There's a canonical way of going the other way, starting with two linear categories with nice finiteness properties, with adjoint functors between them and getting a pair of vector spaces with adjoint linear transformations. The vector spaces are generated by formal symbols for each object in the category, and the inner product between any objects is the dimension of the Hom space (so Hom spaces had better be finite dimensional). Note that this doesn't have to be symmetric.


Functors give linear transformations, and adjoint functors are adjoint in the usual sense.


You can soup up this construction when you have some more structures on your category. For example, if you have a direct sum, then you can impose the relation $[A+B]=[A]+[B]$, and everything will work fine. 


If your category is abelian, you can take Grothendieck group, where $[A]+[C]=[B]$ for every short exact sequence $0\to A \to B \to C\to 0$, but then you have to be much more careful about the fact that lots of functors (including Hom with objects in the category!) aren't exact: they don't send short exact sequences to short exact sequences. You need to use derived functors to fix this.


There's no canonical way of going the direction you asked, though in practice we have a very good record of being able to and I don't know of any really good examples of there being two equal natural seeming but different such constructions. 


