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 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 
If "G" is a contravariant additive functor from P to Q, we similarly define "G" to be
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:
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") = HomA("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") = 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"* = 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; 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, formula_3 is a flat formula_4-module. Therefore, tensoring with formula_3 as a formula_4-module is an exact functor. Proof: It suffices to show that if i is an injective map of formula_4-modules formula_8, then the corresponding map between the tensor products formula_9 is injective. One can show that formula_10 if and only if formula_11 is a torsion element or formula_12. The given tensor products only have pure tensors. Therefore, it suffices to show that if a pure tensor formula_13 is in the kernel, then it is zero. Suppose that formula_13 is a nonzero element of the kernel. Then, formula_15 is torsion. Since formula_16 is injective, formula_11 is torsion. Therefore, formula_18, which is a contradiction. Therefore, formula_19 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 formula_20-modules formula_21. Tensoring over formula_20 with formula_23 gives a sequence that is no longer exact, since formula_23 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 "E""X" from AC 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 formula_25 
be a short exact sequence of "R" modules, then 
This has a useful corollary: If "I" is an ideal of "R" and "P" is as above, then formula_28
Proof: :formula_29 , where "f" is the inclusion and "g" is the projection, is a exact sequence of "R" modules. By the above we get that :formula_30 is also a short exact sequence of "R" modules. By exactness, formula_31, since "f" is the inclusion. Now, consider the "R" module homomorphism from formula_32 given by "R" linearly extending the map defined on pure tensors: formula_33 implies that formula_34. So, the kernel of this map cannot contain any non zero pure tensors. formula_35 is composed only of pure tensors: For formula_36. So, this map is injective. It is clearly onto. So, formula_37. Similarly, formula_38. This proves the corollary.
As another application, we show that for, formula_39 where formula_40 and "n" is the highest power of 2 dividing "m". We prove a special case: "m=12".
Proof: Consider a pure tensor formula_41. Also, for formula_42.
This shows that formula_43. Letting formula_44, "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
formula_45. The last congruence follows by a similar argument to one in the proof of the corollary showing that formula_38.
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 if and only if it turns finite colimits into limits; a contravariant functor is right exact if and only if 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: 
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.