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.