PreAbelian category

In mathematics, specifically in category theory, a preAbelian category is an additive category that has all kernels and cokernels.
Spelled out in more detail, this means that a category C is preAbelian if:
 C is preadditive, that is enriched over the monoidal category of Abelian groups;
 C has all biproducts, which are both finite products and finite coproducts;
 given any morphism f: A → B in C, the equaliser of f and the zero morphism from A to B exists (this is the kernel), as does the coequaliser (this is the cokernel).
Note that the zero morphism in item 3 can be identified as the identity element of the homset Hom(A,B), which is an Abelian group by item 1; or as the unique morphism A → O → B, where O is a zero object, guaranteed to exist by item 2.
Contents 
Examples
The original example of an additive category is the category Ab of Abelian groups. Ab is preadditive because it is a closed monoidal category, the biproduct in Ab is the finite direct sum, the kernel is inclusion of the ordinary kernel from group theory and the cokernel is the quotient map onto the ordinary cokernel from group theory.
Other common examples:
 The category of (left) modules over a ring R, in particular:
 the category of vector spaces over a field K.
 The category of (Hausdorff) abelian topological groups.
These will give you an idea of what to think of; for more examples, see Abelian category (every Abelian category is preAbelian).
Elementary properties
Every preAbelian category is of course an additive category, and many basic properties of these categories are described under that subject. This article concerns itself with the properties that exist specifically because of the existence of kernels and cokernels.
Although kernels and cokernels are special kinds of equalisers and coequalisers, a preAbelian category actually has all equalisers and coequalisers. We simply construct the equaliser of two morphisms f and g as the kernel of their difference g − f; similarly, their coequaliser is the cokernel of their difference. (The alternative term "difference kernel" for binary equalisers derives from this fact.) Since preAbelian categories have all finite products and coproducts (the biproducts) and all binary equalisers and coequalisers (as just described), then by a general theorem of category theory, they have all limits and colimits. That is, preAbelian categories are finitely complete.
The existence of both kernels and cokernels gives a notion of image and coimage. We can define these as
 im f := ker coker f;
 coim f := coker ker f.
That is, the image is the kernel of the cokernel, and the coimage is the cokernel of the kernel.
Note that this notion of image may not correspond to the usual notion of image, or range, of a function, even assuming that the morphisms in the category are functions. For example, in the category of topological Abelian groups, the image of a morphism actually corresponds to the inclusion of the closure of the range of the function. For this reason, people will often distinguish the meanings of the two terms in this context, using "image" for the abstract categorical concept and "range" for the elementary functiontheoretic concept.
In many common situations, such as the category of sets, where images and coimages exist, their objects are isomorphic. Put more precisely, we have a factorisation of f: A → B as
 A → C → I → B,
where the morphism on the left is the coimage, the morphism on the right is the image, and the morphism in the middle (called the parallel of f) is an isomorphism.
In a preAbelian category, this is not necessarily true. The factorisation shown above does always exist, but the parallel might not be an isomorphism. In fact, the parallel of f is an isomorphism for every morphism f if and only if the preAbelian category is an Abelian category. An example of a nonAbelian, preAbelian category is, once again, the category of topological Abelian groups. As remarked, the image is the inclusion of the closure of the range; however, the coimage is a quotient map onto the range itself. Thus, the parallel is the inclusion of the range into its closure, which is not an isomorphism unless the range was already closed.
Exact functors
Recall that all finite limits and colimits exist in a preAbelian category. In general category theory, a functor is called left exact if it preserves all finite limits and right exact if it preserves all finite colimits. (A functor is simply exact if it's both left exact and right exact.)
In a preAbelian category, exact functors can be described in particularly simple terms. First, recall that an additive functor is a functor F: C → D between preadditive categories that acts as a group homomorphism on each homset. Then it turns out that a functor between preAbelian categories is left exact if and only if it is additive and preserves all kernels, and it's right exact iff it's additive and preserves all cokernels.
Note that an exact functor, because it preserves both kernels and cokernels, preserves all images and coimages. Exact functors are most useful in the study of Abelian categories, where they can be applied to exact sequences.
Special cases
 An Abelian category is a preAbelian category such that every monomorphism and epimorphism is normal.
The preAbelian categories most commonly studied are in fact Abelian categories; for example, Ab is an Abelian category.
Sources
 Nicolae Popescu; 1973; Abelian Categories with Applications to Rings and Modules; Academic Press, Inc.; out of print
 goes over all of this very slowly