Definition of a Functor of Abelian Categories

What is the precise definition of a functor of abelian categeries. I've looked on the internet but can't find one. From the Wikipedia definition of an abelian category, I'm guessing that, for two abelian categories ${\cal C,D}$, a functor $F:{\cal C} \to {\cal D}$, it must satisfy:

(i) the function Hom$(A,B) \to$ Hom($F(A),F(B))$ induce by $F$ must be a group homomorphism, for any two objects $A,B \in {\cal C}$,

(ii) $F$ must preserve kernels and cokernels,

(iii) $F$ must preserve direct sums.


When one has abelian categories, one is usually interested in additive functors. By definition, these are functors $F : \mathcal{C} \to \mathcal{D}$ whose action on morphisms is an abelian group homomorphism $\mathcal{C}(A, B) \to \mathcal{D}(F A, F B)$.

Proposition. If $\mathcal{C}$ and $\mathcal{D}$ are additive categories (i.e. $\textbf{Ab}$-enriched categories with finite direct sums) and $F : \mathcal{C} \to \mathcal{D}$ is an ordinary functor, then the following are equivalent:

  1. $F$ preserves finite coproducts (including the initial object)
  2. $F$ preserves finite products (including the terminal object)
  3. $F$ preserves the zero object and binary direct sums
  4. $F$ is additive

Proof. (1), (2), and (3) are equivalent because coproducts, products, and direct sums all coincide in an abelian category. One shows that (4) implies (3) by observing that being a direct sum in an $\textbf{Ab}$-enriched category is a purely equational condition: given objects $A$ and $B$, $(A \oplus B, \iota_1, \iota_2, \pi_1, \pi_2)$ is a direct sum of $A$ and $B$ if and only if \begin{align} \pi_1 \circ \iota_1 & = \textrm{id} & \pi_1 \circ \iota_2 & = 0 \\ \pi_2 \circ \iota_1 & = 0 & \pi_2 \circ \iota_2 & = \textrm{id} \end{align} $$\iota_1 \circ \pi_1 + \iota_2 \circ \pi_2 = \textrm{id}$$ where $\iota_1 : A \to A \oplus B$ and $\iota_2 : B \to A \oplus B$ are the coproduct insertions and $\pi_1 : A \oplus B \to A$ and $\pi_2 : A \oplus B \to B$ are the product projections.

On the other hand, (3) implies (4) by the following trick: given $f, g : A \to B$ in an abelian category $\mathcal{C}$, we have $$f + g = \nabla_B \circ (f \oplus g) \circ \Delta_A$$ where $\Delta_A : A \to A \oplus A$ is the diagonal map and $\nabla_B : B \oplus B \to B$ is the fold map; this can be verified by using the last equation in the above paragraph: \begin{align} \textrm{id} \circ (f \oplus g) \circ \Delta_A & = \textrm{id} \circ \langle f, g \rangle \\ & = (\iota_1 \circ \pi_1 + \iota_2 \circ \pi_2) \circ \langle f, g \rangle \\ & = \iota_1 \circ f + \iota_2 \circ g \end{align} and so $\nabla_B \circ (f \oplus g) \circ \Delta_A = \nabla_B \circ (\iota_1 \circ f + \iota_2 \circ g) = f + g$. Hence, if $F$ preserves the zero object and direct sums, it must also preserve addition of morphisms.  ◼


One often also considers left/right exact functors between abelian categories. Officially, these are functors that preserve all finite limits/colimits (resp.), but in the case of abelian categories, it is enough that they be additive and preserve all kernels/cokernels (resp.). An exact functor is one that is both left and right exact.

These are all non-trivial conditions: the subject of homological algebra is essentially the study of the difference between left/right exact functors and exact functors! For example, $\textrm{Hom}(A, -)$ and $\textrm{Hom}(-, B)$ are both left exact functors; $\textrm{Hom}(A, -)$ is exact if and only if $A$ is a projective object, and $\textrm{Hom}(-, B)$ is exact if and only if $B$ is an injective object.