Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Consider a set $X$ and a set $Y$. Once can the define a map from $X$ to $Y$ that assigns to each point in $X$ a point in $Y$. On the other hand, if $F(X,Y)$ denotes the set of all functions from $X$ to $Y$ then one might be able to define a map $F_x$ from $X$ to $F(X,Y$) that assigns to each point of $X$ an element of $F(X,Y)$. For the latter construction, consider as example a finite dimensional inner product space $(V, (.|.))$, dual $V^*$ and the (canonical?) isomorphism that defined by the map $v \mapsto (.|v)$

My question is, does this sort of construction have a name? Is there some higher concept that embodies the concept of "mapping a point to a function" ?


Another illustration of this that occurred to me I thought was worth mentioning is the derivative map. Let $X$ and $Y$ be Banach spaces, let $U$ be open in $X$ and let $f:U \rightarrow Y$. If $f$ is differentiable at a point $x_0$ then $\partial f(x_0)$ is a linear map from $U$ to $Y$. Now, if $f$ is differentiable at all points $x$ in $U$ the derivative map is defined as the map that sends each point $x$ of $U$ to the derivative of $f$ at $x$, that is $$ x \mapsto \partial f(x) $$

share|cite|improve this question
The second sentence should be rewritten. In general I don't see a reasonable way to do what you're claiming can be done. I think you mean something like "sometimes it is possible to define a map..." – Qiaochu Yuan Jun 3 '11 at 19:27
Also, the map you describe is not an isomorphism unless either $V$ is finite-dimensional or you are talking about the topological dual and $V$ is a Hilbert space. – Qiaochu Yuan Jun 3 '11 at 19:57
@Qiaochu Thanks for pointing out those imprecisions; I have fixed them – ItsNotObvious Jun 3 '11 at 20:06
up vote 5 down vote accepted

There are a few relevant concepts here. First, let's just talk on the level of sets. Suppose $A, B, C$ are sets. Then fixing any function $f : A \times B \to C$, we can take an element $1 \to A$ of $A$ and compose it with $f$ to get a function $B \to C$, or in other words an element of $\text{Hom}(B, C)$. The category of sets is enriched over itself, so we can talk about homs internally, and the above defines a map

$$\text{Hom}(A \times B, C) \mapsto \text{Hom}(A, \text{Hom}(B, C))$$

which, as it turns out, is a natural isomorphism. This is the defining property of a Cartesian closed category and is, as Jim Belk says, also called currying.

Second, let's go to the level of finite-dimensional vector spaces (I think things get messed up in general). The correct replacement for a function $f : A \times B \to C$ is a bilinear function $f : A \times B \to C$, or equivalently a linear function $f : A \otimes B \to C$. The category $\text{FinVect}$ of finite-dimensional vector spaces is also enriched over itself, and we'd like to say that it also has the structure of a Cartesian closed category, except that we can't because the tensor product is not the Cartesian product.

The appropriate generalization is that $\text{FinVect}$ is a closed monoidal category. That means that it comes equipped with a natural isomorphism

$$\text{Hom}(A \otimes B, C) \cong \text{Hom}(A, B \Rightarrow C)$$

where we use $B \Rightarrow C$ to denote $\text{Hom}(B, C)$ treated as a vector space, to distinguish it from $\text{Hom}(B, C)$ treated as a set. (This distinction between internal hom and Hom may seem silly here, but in other categories it becomes important.) The above is in some sense just a restatement of the universal property of the tensor product, but in this form (at least for $R$-modules) it's usually called the tensor-hom adjunction, since it shows that $- \otimes B$ is left adjoint to $B \Rightarrow -$. (Incidentally this shows that the latter preserves colimits and the former preserves limits, a fact of great importance in homological algebra.)

The situation is slightly complicated when we talk about complex inner product places, so let's talk about real inner product spaces. Real inner product spaces $V$ come equipped with a canonical element of $\text{Hom}(V \otimes V, \mathbb{R})$, so plugging that canonical element into the above natural isomorphism gives a canonical element of $\text{Hom}(V, V^{\ast})$.

For a complex inner product space, the inner product is conjugate-linear in one variable, so you don't get a canonical morphism into the dual, you get a canonical anti-morphism into the dual (it's conjugate-linear).

What you're looking at seems like a natural transformation between functors, but I don't think it actually is because one of them (the identity functor) is covariant and the other (the dual space functor) is contravariant.

share|cite|improve this answer
Very nice, comprehensive explanation; thanks! – ItsNotObvious Jun 3 '11 at 20:40
Perhaps you might also want to draw an analogy with the adjunction between $- \times B$ and $(-)^B$, which is available in general Cartesian closed categories. – Zhen Lin Jun 3 '11 at 20:44

The operation that you used on the inner product is known as currying. In general, given a function $$ f\colon X \times Y \to Z\text{,} $$ one can construct a curried function $$ F\colon X \to Z^Y\text{,} $$ where $Z^Y$ is the set of all functions $Y\to Z$. This curried function is defined by $ F(x)(y) \;=\; f(x,y). $ That is, $F(x)$ is the function whose value at $y$ is $f(x,y)$.

Conversely, given any function whose outputs are functions, you can uncurry to obtain a function that takes tuples as inputs. Thus, any function $X \to Y^X$ is equivalent to a function $X\times X \to Y$.

In mathematics, we usually prefer to deal with the uncurried form of a function, though there are exceptions. In computer science, though, the curried form is often more useful, e.g. for functional programming.

share|cite|improve this answer
Interesting perspective. I have done some functional programming and have even mused over curried functions but I didn't make the explicit connection that you describe. – ItsNotObvious Jun 3 '11 at 19:35

One does this all the time with group actions: if the group $G$ acts on the set $X$, one can describe this as a homomorphism $G\to Aut(X)$, or as a set map $G\times X\to X$ satisfying $1.x=x$ and $(gh).x=g.(h.x)$ for all $x\in X$ and $g,h\in G$.

If there is more structure, this becomes more complicated. For example if $G$ is a topological group and $X$ a topological space, you might want to consider continuous actions. This could be taken to mean that, in the description $G\to Aut(X)$, every automorphism is a homeomorphism of $X$. Or that $G\times X\to X$ is continuous, where $G\times X$ has the product topology. Or you can equip $Aut(X)$ with a topology, such as the compact-open topology, and ask that $G\to Aut(X)$ is continuous.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.