A functor is what goes between categories.
A functor from $C$ to $D$ is an image of $C$ in $D$ (but the naive image need not be a subcategory of $D$).
A functor between (small) categories is a morphism of the underlying quivers that respects the composition of edges.
So a functor $F : C \to D$ is a morphism between two categories that
consists of a map $F_0 : Obj(C) \to Obj(D)$ of the objects of the categories
and a map $F_1 : Mor(C) \to Mor(D)$ of the morphisms of the categories
such that
it respects source and target: $F_1$ coincides with $F_0$ on source and target objects;
it respects composition: the image of the composite of two morphisms under $F$ is the composite of their images.
This last property is the decisive one of a functor. It is called the functoriality condition. It is a direct generalization of the notion of homomorphism (of monoids, groups, algebras, etc.) to the case that there are more objects. As a slogan we have
The notion of functor is a horizontal categorification of that of homomorphism.
A functor $F$ from a category $C$ to a category $D$ is a map sending each object $x \in C$ to an object $F(x) \in D$ and each morphism $f : x \to y$ in $C$ to morphism $F(f) : F(x) \to F(y)$ in $D$, such that
$F$ preserves composition: $F(g\circ f) = F(g)\circ F(f)$ whenever the left-hand side is well-defined,
$F$ preserves identity morphisms: for each object $x \in X$, $F(1_x) = 1_{F(x)}$.
Or equivalently, since compositions $g f = g\circ f$ (commuting triangles) and identities $1_x$ (commuting loops) are both simple commuting diagrams, we can combine the above conditions to the single statement
Given morphisms $f:X\to Y$, $g:Y\to Z$, and $h:X\to Z$, declaring the triangle commutes amounts to declaring
In this case, for $F:C\to D$ to preserve the commutative triangle means
as depicted below
Preserving commuting triangles means $F$ preserves compositions.
Given morphisms $f:X\to Y$, $g:Y\to Z$, and $h:Z\to X$, declaring the loop commutes amounts to declaring
In this case, for $F:C\to D$ to preserve the commutative loop means
as depicted below
However, it means more than that. Since any commutative loop is equal to the identity morphism, we must also have
implying
Preserving commuting loops means $F$ preserves identity morphisms.
Another equivalent way to say this is that a functor $F : C \to D$ is precisely a morphism of simplicial sets $N(F) : N(C) \to N(D)$ between the nerves of these categories
the objects of $C$ and $D$ are the 0-cells of $N(C)$ and $N(D)$, so $N(F)_0 : N(F)_0 \to N(F)_0$ maps objects of $C$ to objects of $D$;
the morphisms of $C$ and $D$ are the 1-cells of $N(C)$ and $N(D)$, so $N(F)_1 : N(F)_1 \to N(F)_1$ maps morphisms of $C$ to objects of $D$;
the identity morphisms of $C$ and $D$ are the degenerate 1-cells of $N(C)$ and $N(D)$, so the fact that $N(F)$ respects degeneracy maps means that $F$ respects identities;
the commuting triangles of $C$ and $D$ are the 2-cells of $N(C)$ and $N(D)$, so the fact that $N(F)$ maps 2-cells to 2-cells means that it respects commuting triangles, hence that it respects composition.
See nerve for more details on this.
The functors between two categories $C$ and $D$ form themselves a category, the functor category $[C,D]$, whose morphisms are natural transformations. Equipped with these functor categories as hom-objects, we have a $2$-category Cat of categories, functors and natural transformations. In other words, functors are morphisms in $Cat$.
If $C$ and $D$ are internal categories in some ambient category $A$, then an internal functor $F : C \to D$ is
a morphism of objects $F_0 : C_0 \to D_0$ in $A$;
a morphisms of morphisms $F_1 : C_1 \to D_1$ in $A$;
such that the following diagrams commute
respect for the source map: $\array{ C_1 &\stackrel{f_1}{\to}& D_1 \\ \downarrow^s && \downarrow^s \\ C_0 &\stackrel{f_0}{\to}& D_0 }$;
respect for the target map: $\array{ C_1 &\stackrel{f_1}{\to}& D_1 \\ \downarrow^t && \downarrow^t \\ C_0 &\stackrel{f_0}{\to}& D_0 }$;
respect for identities $\array{ C_0 &\stackrel{f_0}{\to}& D_0 \\ \downarrow^i && \downarrow^i \\ C_1 &\stackrel{f_1}{\to}& D_1 }$;
respect for composition $\array{ C_1 \times_{t,s} C_1 &\stackrel{f_1\times_{t,s} f_1}{\to}& D_1 \times_{t,s} D_1 \\ \downarrow^{\circ} && \downarrow^{\circ} \\ C_1 &\stackrel{f_1}{\to}& D_1 }$.
This reproduces the external definition of functors above for small categories, which are categories internal to Set
In many cases, this notion is too restrictive, and we should use internal anafunctors instead.
In enriched category theory a functor maps not hom-sets but the given hom-objects to each other, in a way that respects their composition. This is described at
A generalization of the notion of enriched functor is the notion of profunctor.
In higher category theory there are corresponding higher notions of functor, such as
See also an informal discussion about an experimental alternative definition of functor.
Functors with special properties are important in applications. See for instance
And for more background on this see stuff, structure, property.
For $A,B$ monoids or $G, H$ groups, let $\mathbf{B}A, \mathbf{B}B$, $\mathbf{B}G$, $\mathbf{B}H$ be the corresponding one-object categories (as described at delooping). Then functors
are canonically in bijection with monoid homomorphisms $A \to B$ and accordingly functors
are canonically in bijection with group homomorphisms $G \to H$.
With $\mathbf{B}G$ as above, functors on $\mathbf{B}G$ with values in Vect are the same as linear representations of the group $G$. In fact, we have a canonical isomorphism of categories
of the functor category with the representation category.
Let $\mathbf{B} End(U)$ and $\mathbf{B} End(V)$ be one-object categories whose objects are each finite-dimensional vector space and whose morphisms are all of the linear endomorphisms on that space, i.e. one-object full subcategories of $Fin Vect$.
If the linear map $F:U\to V$ has a left inverse, i.e.
where $F^*$ is the preimage, then we can construct a functor
by defining its action on objects by
where $F_*$ on the right-hand side is the image and its action on endomorphisms by
Composition follows immediately
Identity morphisms are preserved since for any vector $y$ in $F_*U\subset V$, then
for some vector $x$ in $U$ and we have
so that
as required. Hence, $F_*$ is a functor.
If the linear map $F:U\to V$ has a right inverse, i.e.
where $F^*$ is the preimage, then we can construct a functor
by defining its action on objects by
where $F^*$ on the right-hand side is preimage, and its action on endomorphisms by
Composition follows immediately
Identity morphisms are preserved since for any vector $x$ in $F^*V\subset U$, then
for some vector $y$ in $V$ and we have
so that
as required. Hence, $F^*$ is a functor.
Functors $F : C \to Set$ with values in Set are also called presheaves. As such one calls them presheaves on the opposite category $C^{op}$ of $C$. See presheaf for more on this.
For $C$ a category, and $X \in C$ an object, and $U$ any other object, a morphism $x : U \to X$ may be regarded as a generalized element of $X$, written $x \in X$ (For this language applied to the category Set of sets see ETCS. For the general case see type theory).
The set of generalized elements of an object $X \in C$ is thus the union of hom-sets $\coprod_{U \in C} Hom_C(U,X)$.
While a morphism $f : X \to Y$ in an arbitrary category $C$ need not at all come to us as a function of sets, it always induces a function of sets of generalized elements : it sends the generalized element $x : U \to X$ of $X$ to the generalized element
of $Y$, using the composition of the morphism $f$ with the morphism $x$ in $C$.
In terms of this notation, the functoriality condition on a functor $F : C \to D$, which is
appears as
This can be illustrated in the following diagram
which provides an alternative expression of the functoriality condition as simply a statement that commuting diagrams in $C$ map to commuting diagrams in $D$.
functor