This post is about Abelian categories. This concept, like many others, has eaten away at my existence for quite some time, as there were some chinks that I never quite cleared.

Vakil says that abelian categories are “the right setting” in which one can do homological algebra. This is because one can use kernels, cokernels, etc in such a category. Before we elaborate on this, we shall write about additive categories.

An additive category is one in which for , the set is an abelian group, there exists a zero object (an object that is both an initial and final object), and too.

An abelian group structure on the objects would automatically make the morphisms an abelian group. This is seen in the category of abelian groups and the category of modules. A zero object need not always exist. For example, such an object does not exist in . However categories like and do contain such objects, which is namely . As for products, the category again does not contain products. For example, is not a field. However, the categories and do contain the zero object.

Now we shall discuss the concept of kernel and cokernel. For a map , a kernel is the two tuple , where is a morphism, such that . Also, is universal with respect to this property. What does this mean? It means that any other tuple satisfying this property factors through . This is just a fancy way of saying that contains the whole kernel of .

A cokernel has an anaologous construction- that of the dual of the kernel. A cokernel of is a tuple of the form such that . Also, it is the universal tuple with such properties. In less fancy terms, every map from which maps to factors through .

An abelian category is one in which every map has a kernel and a cokernel, every monomorphism is the kernel of its cokernel, and every epimorphism is the cokernel of its kernel. We shall discuss these concepts in separate paragraphs.

That every map has a kernel and a cokernel is seen in almost every category that we can think of. , , etc. Hence, this is not that much of a constraint.

What does “every monomorphism is the kernel of its cokernel” even mean? Before we can parse this statement, we need to understand what a monomorphism is. It is not just an injective map anymore. Let and . Then if , then is a monomorphism. When we say every monomorphism is the kernel of its cokernel, what we mean is the following: take a monomorphism . As it is a map in an abelian category, it has a cokernel. Which means there exists an object to which it maps via such that . This map , by virtue of being a map in an abelian category, has a kernel such that such that . What this condition says is that . Why is it important that is a monomorphism? Let us try to understand this with a concrete example in mind- that of the category . In this setting, it all appears intuitive. Every tuple that maps to such that has to factor through because is exactly the kernel! There is no many-one mapping here. There are no added conditions. is exactly the kernel for the map .

We can parse “every epimorphism is the cokernel of its kernel” in a similar way- in the category . Take a surjective map . Its kernel is a tuple such that . The cokernel of is exactly , as . This obviously is a result of the fact that is surjective (a specific form of epimorphism). Otherwise would contain, but not equal , which is the cokernel of the kernel in general.

Over in all, the definition of the abelian category seems to contain some common sense requirements that most categories we encounter do fulfil. Some categories like do not, however, as they’re not even additive categories to begin with.