If $\mathbf{C}$ and $\mathbf{D}$ are categories, then a [(covariant) functor] $F:\mathbf{C}\to \mathbf{D}$ is a map which takes an object $A \in \mathbf{C}$ to an object $F A \in \mathbf{D}$ and a morphism $f : A \to B$ to morphism $F(f) : F A \to F B$, such that
$F$ preserves [composition]: $F(g f) = F(g) F(f)$ for every pair of morphisms $f:A\to B$ and $g:B\to C$;
$F$ preserves [unit morphisms]: $F(1_A) = 1_{F A}$ for every object $A \in \mathbf{C}$.
The composite of two functors $F:\mathbf{C}\to \mathbf{D}$ and $G:\mathbf{D}\to \mathbf{E}$ is a functor $G F:\mathbf{C}\to \mathbf{E}$. There is also an [identity functor] $I_{\mathbf{C}}:\mathbf{C}\to \mathbf{C}$ for every category $\mathbf{C}$. Hence the categories form a category. A functor $F:\mathbf{C}\to \mathbf{C}$ is an [isomorphism] if it is invertible in this category.
A [forgetful functor] is a functor which forgets some aspects of the objects of a certain category. For example, the functor $\mathbf{Grp} \to \mathbf{Set}$ which forgets the group structure of a group, remembering only its underlying set, is a forgetful functor. Another example is the functor from the category of rings $\mathbf{Ring}$ to the category of monoids $\mathbf{Mon}$ which forgets the additive structure of the ring but remember its multiplicative structure.
Let us denote by $\mathbf{Ab}_*$ the category of graded abelian groups and graded homomorphisms. The homology of a topological space $X$ with coefficients in an abelian group $A$ is a graded abelian group denoted $H_*(X;A)$. A continuous map of topological spaces $f:X\to Y$ induces a graded homomorphism
Moreover, if $g:Y\to Z$ is another continuous map, then we have $g_*f_*=(g f)_*.$ We can thus defines a functor
by putting $H_*(f ;A)=f_*$ for every continuous map $f$.
The free group functor $F: \mathbf{Set} \to \mathbf{Grp}$ takes a set $X$ to the free group $F(X)$ generated by $X$, and it takes a map $f:X\to Y$ to the group homomorphism $F(f):F(X)\to F(Y)$ which extends $f$.
If $\mathbf{C}$ is a category, then for every object $A\in \mathbf{C}$ there is a functor
which takes an object $B\in \mathbf{C}$ to the set $hom(A,B)$ and takes a morphism $f:B\to C$ to the map
defined by putting $hom(A,f)(u)=f u$ for every morphism $u\in hom(A,B)$.
Functors with special properties are important in applications. A functor $F:\mathbf{C}\to \mathbf{D}$ is said to be
[full] if the map $\mathbf{C}(A,B)\to \mathbf{D}(F A,F B)$ induced by $F$ is surjective for every pair of objects $A,B\in \mathbf{C}$;
[faithful] if the map $\mathbf{C}(A,B)\to \mathbf{D}(F A,F B)$ is injective for every pair of objects $A,B\in \mathbf{C}$;
[fully faithful] if the map $\mathbf{C}(A,B)\to \mathbf{D}(F A,F B)$ is bijective for every pair of objects $A,B\in \mathbf{C}$;
[essentially surjective] if for every object $B\in \mathbf{D}$ there exists an object $A\in \mathbf{C}$ together with an isomorphism $FA\to B$;
an [equivalence] if it is fully faithful and essentially surjective;
A functor $F:\mathbf{C}\to \mathbf{C}$ is an isomorphism iff it is fully faithful and the map $Ob(\mathbf{C})\to Ob(\mathbf{D})$ induced by $F$ is bijective.
Perhaps less ubiquitous are:
[injective-on-objects] (resp. [surjective-on-objects], resp. [bijective-on-objects]) functors, those whose object map is injective (resp. surjective, resp. bijective);
[embeddings], those functors which are injective-on-objects and faithful;
[inclusions], those functors whose object and morphism maps are both inclusions (as opposed to mere injections); their domain is then called a [subcategory] of their codomain.
When an inclusion is full, its domain is called a [full subcategory] of its codomain.
If $\mathbf{C}$ and $\mathbf{D}$ are categories, then a [contravariant functor] $F:\mathbf{C}\to \mathbf{D}$ is a map sending each object $A \in \mathbf{C}$ to an object $F A \in \mathbf{D}$ and each morphism $f : A \to B$ to morphism $F(f) : F B \to F A$, such that
$F$ preserves [composition]: $F(g f) = F(f) F(g)$ for every pair of morphisms $f:A\to B$ and $g:B\to C$;
$F$ preserves [unit morphisms]: $F(1_A) = 1_{F A}$ for every object $A \in \mathbf{C}$.
The composite of two functors $F:\mathbf{C}\to \mathbf{D}$ and $G:\mathbf{D}\to \mathbf{E}$ is a functor $G F:\mathbf{C}\to \mathbf{E}$ which is
[covariant] if $F$ and $G$ are covariant;
[contravariant] if $F$ is contravariant and $G$ are covariant;
[contravariant] if $F$ is covariant and $G$ is contravariant;
[covariant] if $F$ and $G$ are contravariant.
A covariant functor $F:\mathbf{C}\to \mathbf{D}$ induces a covariant functor between the opposite categories $F^o:\mathbf{C}^o\to \mathbf{D}^o$. By definition, the functor $F^o$ takes an object $A^o\in \mathbf{C}^o$ to the object $(F A)^o\in \mathbf{D}^o$ and takes a morphism $f^o:A^o\to B^o$ to the morphism $F(f)^o: (F A)^o\to (F B)^o$. We shall say that the functor $F^o$ is the opposite of the functor $F$. Similarly, a contravariant functor $F:\mathbf{C}\to \mathbf{D}$ induces a contravariant functor between the opposite categories $F^o:\mathbf{C}^o\to \mathbf{D}^o$.
For any category $\mathbf{C}$, the map $\mathbf{C}\to \mathbf{C}^o$ which takes an object $A\in \mathbf{C}$ to the opposite object $A^o\in \mathbf{C}^o$ and takes a morphism $f:A\to B$ to the opposite morphism $f^o:B^o\to A^o$ is a contravariant functor $Op:\mathbf{C}\to \mathbf{C}^o$. We shall use the same notation for the inverse functor $Op:\mathbf{C}^o\to \mathbf{C}$. If $F:\mathbf{C}\to \mathbf{D}$ is a contravariant functor, then the composite $F Op:\mathbf{C}^o\to \mathbf{D}$ is a covariant functor. The map $F\mapsto F Op$ induces a bijection between the contravariant functors $\mathbf{C}\to \mathbf{D}$ and the covariant functors $\mathbf{C}^o\to \mathbf{D}$. Similarly, the map $F\mapsto Op F$ induces a bijection between the contravariant functors $\mathbf{C}\to \mathbf{D}$ and the covariant functors $\mathbf{C}\to \mathbf{D}^o$.
Let $Mat(R)$ be the category of matrices with coefficiants in a commutative ring $R$. The transpose of a matrix $A:m\to n$ is a matrix $T(A):n\to m$. If $B:n\to p$ is another matrix, then we have $T(B A)=T(A)T(B).$ Thus, the transposition operation defines a contravariant functor $T:Mat(R)\to Mat(R)$. Notice that the composite $T T:Mat(R)\to Mat(R)$ is the identity functor.
If $\mathbf{C}$ is a groupoid, then every arrow $f:A\to B$ in $\mathbf{C}$ has an inverse $Inv(f)=f^{-1}:B\to A$. This defines a contravariant functor $Inv:\mathbf{C}\to \mathbf{C}$ such that $Inv(A)=A$ for every object $A\in \mathbf{C}$. Notice that the composite $InvInv:\mathbf{C}\to \mathbf{C}$ is the identity functor.
If $\mathbf{C}$ is a category, then for every object $A\in \mathbf{C}$ there is a contravariant functor
which takes an object $B\in \mathbf{C}$ to the set $hom(B,A)$ and takes a morphism $f:C\to B$ to the map
defined by putting $hom(f,A)(u)=u f$ for every $u\in hom(B,A)$.
A simplicial set is defined to be a contravariant functor $\Delta\to \mathbf{Set}$.