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  be a covariant additive functor (so that, in particular, F(0) = 0).  We say that F is an exact functor if whenever 

 

is a short exact sequence in P then 

 

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 FA(X) = HomA(A,X) defines a covariant left-exact functor from A to the category Ab of abelian groups. The functor FA is exact if and only if A is projective. The functor GA(X) = HomA(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 * = Homk(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 HT from the abelian category of all left R-modules to Ab by using the tensor product over R: HT(X) = T ⊗ X. This is a covariant right exact functor; it is exact if and only if T is flat. 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. 

For example,  is a flat -module. Therefore, tensoring with  as a -module is an exact functor. Proof: It suffices to show that if i is an injective map of -modules , then the corresponding map between the tensor products  is injective. One can show that  if and only if  is a torsion element or . The given tensor products only have pure tensors. Therefore, it suffices to show that if a pure tensor  is in the kernel, then it is zero. Suppose that  is an element of the kernel. Then,  is torsion. Since  is injective,  is torsion. Therefore, . Therefore,  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 -modules . Tensoring over  with  gives a sequence that is no longer exact, since  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 AC consisting of all functors from C to A; it is abelian. If X is a given object of C, then we get a functor EX from AC to A by evaluating functors at X. This functor EX 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  be a short exact sequence of  R-modules. Then 

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
. 

This has a useful corollary: If I is an ideal of R and P is as above, then .

Proof: , where f is the inclusion and g is the projection, is an exact sequence of R-modules. By the above we get that : is also a short exact sequence of R-modules. By exactness, , since f is the inclusion. Now, consider the R-module homomorphism from  given by R-linearly extending the map defined on pure tensors:  implies that . So, the kernel of this map cannot contain any nonzero pure tensors.   is composed only of pure tensors: For  . So, this map is injective. It is clearly onto. So, . Similarly, . This proves the corollary.

As another application, we show that for,  where  and n is the highest power of 2 dividing m. We prove a special case: m=12.

Proof: Consider a pure tensor . Also, for .
This shows that . Letting ,  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
. The last congruence follows by a similar argument to one in the proof of the corollary showing that .

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.

Notes

References 
 

Homological algebra
Additive categories
Functors