# Exact functor

In mathematics, particularly homological algebra, an exact functor is a functor that preserves short exact sequences. Exact functors are convenient for algebraic calculations because they can be directly applied to presentations of objects. Much of the work in homological algebra is designed to cope with functors that fail to be exact, but in ways that can still be controlled.

## Definitions

Let P and Q be abelian categories, and let F: P→Q be a covariant additive functor (so that, in particular, F(0) = 0). We say that F is an exact functor if whenever
    $0\to A\ {\stackrel {f}{\to }}\ B\ {\stackrel {g}{\to }}\ C\to 0$
is a short exact sequence in P then
    $0\to F(A)\ {\stackrel {F(f)}{\longrightarrow }}\ F(B)\ {\stackrel {F(g)}{\longrightarrow }}\ F(C)\to 0$
is a short exact sequence in Q. (The maps are often omitted and implied, and one says: "if 0→A→B→C→0 is exact, then 0→F(A)→F(B)→F(C)→0 is also exact".)
Further, we say that F is
* left-exact if whenever 0→A→B→C→0 is exact then 0→F(A)→F(B)→F(C) is exact;
* right-exact if whenever 0→A→B→C→0 is exact then F(A)→F(B)→F(C)→0 is exact;
* half-exact if whenever 0→A→B→C→0 is exact then F(A)→F(B)→F(C) is exact. This is distinct from the notion of a topological half-exact functor.
If G is a contravariant additive functor from P to Q, we similarly define G to be
* exact if whenever 0→A→B→C→0 is exact then 0→G(C)→G(B)→G(A)→0 is exact;
* left-exact if whenever 0→A→B→C→0 is exact then 0→G(C)→G(B)→G(A) is exact;
* right-exact if whenever 0→A→B→C→0 is exact then G(C)→G(B)→G(A)→0 is exact;
* half-exact if whenever 0→A→B→C→0 is exact then G(C)→G(B)→G(A) is exact.
It is not always necessary to start with an entire short exact sequence 0→A→B→C→0 to have some exactness preserved. The following definitions are equivalent to the ones given above:
* F is exact if and only if A→B→C exact implies F(A)→F(B)→F(C) exact;
* F is left-exact if and only if 0→A→B→C exact implies 0→F(A)→F(B)→F(C) exact (i.e. if "F turns kernels into kernels");
* F is right-exact if and only if A→B→C→0 exact implies F(A)→F(B)→F(C)→0 exact (i.e. if "F turns cokernels into cokernels");
* G is left-exact if and only if A→B→C→0 exact implies 0→G(C)→G(B)→G(A) exact (i.e. if "G turns cokernels into kernels");
* G is right-exact if and only if 0→A→B→C exact implies G(C)→G(B)→G(A)→0 exact (i.e. if "G turns kernels into cokernels").

## Examples

Every equivalence or duality of abelian categories is exact.
The most basic examples of left exact functors are the Hom functors: if A is an abelian category and A is an object of A, then F$_A$(X) = Hom$_A$(A,X) defines a covariant left-exact functor from A to the category Ab of abelian groups. The functor F$_A$ is exact if and only if A is projective. The functor G$_A$(X) = Hom$_A$(X,A) is a contravariant left-exact functor; it is exact if and only if A is injective.
If k is a field and V is a vector space over k, we write V * = Hom$_k$(V,k) (this is commonly known as the dual space). This yields a contravariant exact functor from the category of k-vector spaces to itself. (Exactness follows from the above: k is an injective k-module. Alternatively, one can argue that every short exact sequence of k-vector spaces splits, and any additive functor turns split sequences into split sequences.)
If X is a topological space, we can consider the abelian category of all sheaves of abelian groups on X. The covariant functor that associates to each sheaf F the group of global sections F(X) is left-exact.
If R is a ring and T is a right R-module, we can define a functor H$_T$ from the abelian category of all left R-modules to Ab by using the tensor product over R: H$_T$(X) = T ⊗ X. This is a covariant right exact functor; in other words, given an exact sequence A→B→C→0 of left R modules, the sequence of abelian groups T ⊗ A → T ⊗ B → T ⊗ C → 0 is exact.
The functor H$_T$ is exact if and only if T is flat. For example, $\mathbb {Q}$ is a flat $\mathbb {Z}$-module. Therefore, tensoring with $\mathbb {Q}$ as a $\mathbb {Z}$-module is an exact functor. Proof: It suffices to show that if i is an injective map of $\mathbb {Z}$-modules $i:M\to N$, then the corresponding map between the tensor products $M\otimes \mathbb {Q} \to N\otimes \mathbb {Q}$ is injective. One can show that $m\otimes q=0$ if and only if $m$ is a torsion element or $q=0$. The given tensor products only have pure tensors. Therefore, it suffices to show that if a pure tensor $m\otimes q$ is in the kernel, then it is zero. Suppose that $m\otimes q$ is an element of the kernel. Then, $i(m)$ is torsion. Since $i$ is injective, $m$ is torsion. Therefore, $m\otimes q=0$. Therefore, $M\otimes \mathbb {Q} \to N\otimes \mathbb {Q}$ is also injective.
In general, if T is not flat, then tensor product is not left exact. For example, consider the short exact sequence of $\mathbf {Z}$-modules $5\mathbf {Z} \hookrightarrow \mathbf {Z} \twoheadrightarrow \mathbf {Z} /5\mathbf {Z}$. Tensoring over $\mathbf {Z}$ with $\mathbf {Z} /5\mathbf {Z}$ gives a sequence that is no longer exact, since $\mathbf {Z} /5\mathbf {Z}$ is not torsion-free and thus not flat.
If A is an abelian category and C is an arbitrary small category, we can consider the functor category A$^C$ consisting of all functors from C to A; it is abelian. If X is a given object of C, then we get a functor E$_X$ from A$^C$ to A by evaluating functors at X. This functor E$_X$ is exact.
While tensoring may not be left exact, it can be shown that tensoring is a right exact functor:
Theorem: Let A,B,C and P be R-modules for a commutative ring R having multiplicative identity. Let $A\ {\stackrel {f}{\to }}\ B\ {\stackrel {g}{\to }}\ C\to 0$ be a short exact sequence of R-modules. Then
    $A\otimes _{R}P{\stackrel {f\otimes P}{\to }}B\otimes _{R}P{\stackrel {g\otimes P}{\to }}C\otimes _{R}P\to 0$
is also a short exact sequence of R-modules. (Since R is commutative, this sequence is a sequence of R-modules and not merely of abelian groups). Here, we define
    $f\otimes P(a\otimes p):=f(a)\otimes p,g\otimes P(b\otimes p):=g(b)\otimes p$.
This has a useful corollary: If I is an ideal of R and P is as above, then $P\otimes _{R}(R/I)\cong P/IP$.
Proof: $I{\stackrel {f}{\to }}R{\stackrel {g}{\to }}R/I\to 0$, where f is the inclusion and g is the projection, is an exact sequence of R-modules. By the above we get that :$I\otimes _{R}P{\stackrel {f\otimes P}{\to }}R\otimes _{R}P{\stackrel {g\otimes P}{\to }}R/I\otimes _{R}P\to 0$ is also a short exact sequence of R-modules. By exactness, $R/I\otimes _{R}P\cong (R\otimes _{R}P)/Image(f\otimes P)=(R\otimes _{R}P)/(I\otimes _{R}P)$, since f is the inclusion. Now, consider the R-module homomorphism from $R\otimes _{R}P\rightarrow P$ given by R-linearly extending the map defined on pure tensors: $r\otimes p\mapsto rp.rp=0$ implies that $0=rp\otimes 1=r\otimes p$. So, the kernel of this map cannot contain any nonzero pure tensors. $R\otimes _{R}P$ is composed only of pure tensors: For $x_{i}\in R,\sum _{i}x_{i}(r_{i}\otimes p_{i})=\sum _{i}1\otimes (r_{i}x_{i}p_{i})=1\otimes (\sum _{i}r_{i}x_{i}p_{i})$. So, this map is injective. It is clearly onto. So, $R\otimes _{R}P\cong P$. Similarly, $I\otimes _{R}P\cong IP$. This proves the corollary.
As another application, we show that for, $P=\mathbf {Z} [1/2]:=\{a/2^{k}:a,k\in \mathbf {Z} \},P\otimes \mathbf {Z} /m\mathbf {Z} \cong P/k\mathbf {Z} P$ where $k=m/2^{n}$ and n is the highest power of 2 dividing m. We prove a special case: m=12.
Proof: Consider a pure tensor $(12z)\otimes (a/2^{k})\in (12\mathbf {Z} \otimes _{Z}P).(12z)\otimes (a/2^{k})=(3z)\otimes (a/2^{k-2})$. Also, for $(3z)\otimes (a/2^{k})\in (3\mathbf {Z} \otimes _{Z}P),(3z)\otimes (a/2^{k})=(12z)\otimes (a/2^{k+2})$. This shows that $(12\mathbf {Z} \otimes _{Z}P)=(3\mathbf {Z} \otimes _{Z}P)$. Letting $P=\mathbf {Z} [1/2],A=12\mathbf {Z} ,B=\mathbf {Z} ,C=\mathbf {Z} /12\mathbf {Z}$, A,B,C,P are R=Z modules by the usual multiplication action and satisfy the conditions of the main theorem. By the exactness implied by the theorem and by the above note we obtain that $:\mathbf {Z} /12\mathbf {Z} \otimes _{Z}P\cong (\mathbf {Z} \otimes _{Z}P)/(12\mathbf {Z} \otimes _{Z}P)=(\mathbf {Z} \otimes _{Z}P)/(3\mathbf {Z} \otimes _{Z}P)\cong \mathbf {Z} P/3\mathbf {Z} P$. The last congruence follows by a similar argument to one in the proof of the corollary showing that $I\otimes _{R}P\cong IP$.

## Properties and theorems

A functor is exact if and only if it is both left exact and right exact.
A covariant (not necessarily additive) functor is left exact if and only if it turns finite limits into limits; a covariant functor is right exact if and only if it turns finite colimits into colimits; a contravariant functor is left exact iff it turns finite colimits into limits; a contravariant functor is right exact iff it turns finite limits into colimits.
The degree to which a left exact functor fails to be exact can be measured with its right derived functors; the degree to which a right exact functor fails to be exact can be measured with its left derived functors.
Left and right exact functors are ubiquitous mainly because of the following fact: if the functor F is left adjoint to G, then F is right exact and G is left exact.

## Generalizations

In SGA4, tome I, section 1, the notion of left (right) exact functors are defined for general categories, and not just abelian ones. The definition is as follows:
    Let C be a category with finite projective (resp. injective) limits. Then a functor from C to another category C′ is left (resp. right) exact if it commutes with finite projective (resp. inductive) limits.
Despite its abstraction, this general definition has useful consequences. For example, in section 1.8, Grothendieck proves that a functor is pro-representable if and only if it is left exact, under some mild conditions on the category C.
The exact functors between Quillen's exact categories generalize the exact functors between abelian categories discussed here.
The regular functors between regular categories are sometimes called exact functors and generalize the exact functors discussed here.