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

Why are bifunctors called "bifunctors"? They are just functors, are they not?

After all, we don't call functions of two arguments "bifunctions", or natural transformations with two parameters "binatural transformations" and what not. Is there any good reason why bifunctors are called so?

share|cite|improve this question
On the other hand we do speak about "bilinear maps" in linear algebra. Perhaps just one of those discontinuities that have to arise when one tries to generalize from several different areas with their own terminological traditions? – Henning Makholm Apr 17 '12 at 20:05
But my understanding is that bilinear maps are not linear maps or vice versa. So, there you do need different terms. – Uday Reddy Apr 17 '12 at 20:09
Well, they are linear maps from a tensor product of vector spaces -- which is arguably similar to bifunctors being functors from a product category. (Of course in the case of bilinear maps one needs to signal somehow that it's not a linear map from the direct sum space, which does not seem to have any equivalent risk for bifunctors). – Henning Makholm Apr 17 '12 at 20:13
I always had the impression that math terminology is not as rigorous as mathematics itself – Andrea Mori Apr 17 '12 at 20:13
In the most basic sense bilinear maps are not linear, i.e. $f(x,y) = x\cdot y$ is bilinear, but $f(a\cdot(x,y)) = f(ax,ay) = a^2\cdot(x\cdot y) \neq a\cdot x \cdot y$ as would be the case for the "ordinary" linear map. My guess is that it is the same for bifunctors, e.g. any functor is covariant or contravariant, however, $\mathbf{Hom}(\cdot,\cdot)$ is neither (that means it is covariant in the second argument $\mathbf{Hom}(A,\cdot)$ and contravariant in first $\mathbf{Hom}(\cdot,A)$). – dtldarek Apr 17 '12 at 21:11
up vote 5 down vote accepted

I don't know the real answer to your question, anyway I'll try to give to you a possibile explanation, following the suggestion of Henning Makholm.

Bifunctors can be consider a categorical version of bilinear map. A bilinear map is just a map $f \colon V \times W \to Z$, where $V$, $W$ and $Z$ are vector spaces considered just as sets, which is linear in each component. In a similar way a bifunctor is map $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ of graphs, which is functorial in each component (but it has also to satisfy a condition). Before I can justify my statement let me state the following theorem:

Suppose you have two families of functors $\langle L_c \colon \mathbf D \to \mathbf E\rangle_{c \in \mathbf C}$ and $\langle R_d \colon \mathbf C \to \mathbf E\rangle_{d \in \mathbf D}$ such that:

for each pair $c \in \mathbf C$ and $d \in \mathbf D$ we have that $L_c(d)=R_d(c)$

for each pair $f \in \mathbf C(c,c')$ and $g \in \mathbf D(d,d')$ the equality $$L_{c'}(g) \circ R_d(f) = R_{d'}(f) \circ L_c(g)$$ holds

then there exists a necessarily unique functor $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ such that $\mathcal F(c,d)=L_d(c)=R_c(d)$ and $\mathcal F(f,g)=L_{c'}(g)\circ R_d(f)=R_{d'}(f)\circ L_c(g)$.

So given a graph map $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ such that for each $c \in \mathbf C$ and $d \in \mathbf D$ the components $\mathcal F(c,-)$ and $\mathcal F(-,d)$ are functors (which have to satisfy the condition of the theorem above), then $\mathcal F$ is a bifunctor, and $\mathcal F$ can be a bifunctors if and only if it satisfies this condition.

Anyway there's more: a bilinear map $f \colon V \times W \to Z$ (or reather $f \colon V \otimes W \to Z$) can be seen both as a map $f \colon V \to \hom(W,Z)$ and $f \colon W \to \hom(V,Z)$ through the natural bijections

$$\hom(V,\hom(W,Z)) \cong \hom(V \otimes W,Z) \cong \hom(W,\hom(V,Z))$$

and this is the real cool property of bilinear maps in the category of vector spaces.

In the category of (small) categories and functors insted we have these natural bijections

$$\hom(\mathbf C, \hom(\mathbf D,\mathbf E)) \cong \hom(\mathbf C \times \mathbf D, \mathbf E) \cong \hom(\mathbf D, \hom(\mathbf C,\mathbf E))$$

so in categorical context the role played by the tensor product for vector spaces is played by product and thus the role of bilinear maps is played by bifunctors.

I hope this explanation can be considered enough reasonable to justify the name bifunctor.

share|cite|improve this answer
Ok, I guess that is a reasonable explanation. I was under the mistaken assumption that the morphism-bimorphism distinction is only made when there is a product and a separate tensor product, because there would then be a real need to distinguish between the two concepts. You are saying that the "bimorphism" terminology can be used whenever there is a closed symmetric monoidal structure. – Uday Reddy Apr 17 '12 at 22:46
@UdayReddy well to be exact you could talk about bi-maps (an in general multi-maps) also in monoidal (not neccessarily symmetric) categories and more in general in multicategories. Btw I suggest to avoid to call this kind of morphisms bimorphisms because this term that has a different meaning. – Giorgio Mossa Apr 18 '12 at 9:27

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.