Understanding the tensor-hom adjunction intuitively

arctic tern's answer is very nice and complete. But less formally, the adjunction really says something quite simple: By the universal property of the tensor product, a linear map out of $U \otimes V$ is the same thing as a bilinear map from $U \times V$. (I.e. the tensor product is built precisely to encode bilinearity.) And a bilinear map from $U \times V$ is the same thing as a linear map from $U$ to the linear maps out of $V$, by currying. (I.e., process the bilinear map from $U \times V$ one slice $\{u\} \times V \cong V$ at a time, for all $u \in U$, instead of all at once.) Naturality just means that this identification behaves well under linear maps.


There is a de-linearized version of tensor-hom adjunction, called currying in computer science, which states there is a bijection $\hom(U\times V,W)\cong \hom(U,\hom(V,W))$ in the category $\mathsf{Set}$.

Consider an arbitrary $\phi\in \hom(U\times V,W)$, i.e. a function $\phi:U\times V\to W$. By fixing $u\in U$, we can consider $\phi(u,-)$ to be a function $V\to W$. Thus the assignment $u\mapsto \phi(u,-)$ may be considered a function $U\to \hom(V,W)$, i.e. an element of $\hom(U,\hom(V,W))$. In this way, we have defined a map from $\hom(U\times V,W)$ to $\hom(U,\hom(V,W))$. I leave it as an exercise to determine how to think of the inverse map, and hence conclude we have a bijection.

There is a linearization functor $L:\mathsf{Set}\to\mathsf{Vect}$ (fix the base field $F$ to anything) which sends a set $X$ to the free vector space (over $F$) generated by $X$. I leave it as an exercise to check that $L$ is a monoidal functor, i.e. figure out how functions $X\to Y$ turns into linear maps $LX\to LY$ and how $L(X\times Y)\cong L(X)\otimes L(Y)$. This suggests tensor-hom adjunction comes from applying linearization to the currying adjunction.

Indeed, starting with $\phi\in \hom(U\otimes V,W)$, i.e. a bilinear map $\phi:U\times V\to W$, we can fix a vector $u\in U$ and consider the linear map $\phi(u,-):V\to W$. The assignment $u\mapsto \phi(u,-)$ is a function $U\to\hom(V,W)$ which we can check is linear, so an element of $\hom(U,\hom(V,W))$, and again we can figure out the inverse and hence conclude this is an isomorphism.

Homs between vector spaces can be related to tensor products and dual spaces as well. Indeed there is a natural isomorphism $V^*\otimes W\cong \hom(V,W)$. (One must consider $\mathsf{Vect}$ to be "enriched" so that $\hom(-,-)$ is a $\mathsf{Vect}$-valued bifunctor.) Given a pure tensor $\phi\otimes w\in V^*\otimes W$, it can be reinterpreted as a linear map $V\to W$ defined by $(\phi\otimes w)(v):=\phi(v)w$. By picking bases for $V$ and $W$ we can prove this process of reinterpretation induces an isomorphism between $V^*\otimes W$ and $\hom(V,W)$. When combined with $(V^*)^*\cong V$ and $(V\otimes W)^*\cong V^*\otimes W^*$, this gives us a lot of power when it comes to manipulating tensors and homs of spaces.

I'll also point out there are "diagrammatic" interpretations of these operations between spaces and their manipulations and natural isomorphisms. See Qiaochu's two-part blog posts on string diagrams (Part I, Part II).