Template:Short description Template:Redirect Template:No footnotes

The cokernel of a linear mapping of vector spaces Template:Math is the quotient space Template:Math of the codomain of Template:Mvar by the image of Template:Mvar. The dimension of the cokernel is called the corank of Template:Mvar.

Cokernels are dual to the kernels of category theory, hence the name: the kernel is a subobject of the domain (it maps to the domain), while the cokernel is a quotient object of the codomain (it maps from the codomain).

Intuitively, given an equation Template:Math that one is seeking to solve, the cokernel measures the constraints that Template:Mvar must satisfy for this equation to have a solution – the obstructions to a solution – while the kernel measures the degrees of freedom in a solution, if one exists. This is elaborated in intuition, below.

More generally, the cokernel of a morphism Template:Math in some category (e.g. a homomorphism between groups or a bounded linear operator between Hilbert spaces) is an object Template:Mvar and a morphism Template:Math such that the composition Template:Math is the zero morphism of the category, and furthermore Template:Mvar is universal with respect to this property. Often the map Template:Mvar is understood, and Template:Mvar itself is called the cokernel of Template:Mvar.

In many situations in abstract algebra, such as for abelian groups, vector spaces or modules, the cokernel of the homomorphism Template:Math is the quotient of Template:Mvar by the image of Template:Mvar. In topological settings, such as with bounded linear operators between Hilbert spaces, one typically has to take the closure of the image before passing to the quotient.

Formal definitionEdit

One can define the cokernel in the general framework of category theory. In order for the definition to make sense the category in question must have zero morphisms. The cokernel of a morphism Template:Math is defined as the coequalizer of Template:Mvar and the zero morphism Template:Math.

Explicitly, this means the following. The cokernel of Template:Math is an object Template:Mvar together with a morphism Template:Math such that the diagram

commutes. Moreover, the morphism Template:Mvar must be universal for this diagram, i.e. any other such Template:Math can be obtained by composing Template:Mvar with a unique morphism Template:Math:

As with all universal constructions the cokernel, if it exists, is unique up to a unique isomorphism, or more precisely: if Template:Math and Template:Math are two cokernels of Template:Math, then there exists a unique isomorphism Template:Math with Template:Math.

Like all coequalizers, the cokernel Template:Math is necessarily an epimorphism. Conversely an epimorphism is called normal (or conormal) if it is the cokernel of some morphism. A category is called conormal if every epimorphism is normal (e.g. the category of groups is conormal).

ExamplesEdit

In the category of groups, the cokernel of a group homomorphism Template:Math is the quotient of Template:Mvar by the normal closure of the image of Template:Mvar. In the case of abelian groups, since every subgroup is normal, the cokernel is just Template:Mvar modulo the image of Template:Mvar:

<math>\operatorname{coker}(f) = H / \operatorname{im}(f).</math>

Special casesEdit

In a preadditive category, it makes sense to add and subtract morphisms. In such a category, the coequalizer of two morphisms Template:Mvar and Template:Mvar (if it exists) is just the cokernel of their difference:

<math>\operatorname{coeq}(f, g) = \operatorname{coker}(g - f).</math>

In an abelian category (a special kind of preadditive category) the image and coimage of a morphism Template:Mvar are given by

<math>\begin{align}
   \operatorname{im}(f) &= \ker(\operatorname{coker} f), \\
 \operatorname{coim}(f) &= \operatorname{coker}(\ker f).

\end{align}</math>

In particular, every abelian category is normal (and conormal as well). That is, every monomorphism Template:Mvar can be written as the kernel of some morphism. Specifically, Template:Mvar is the kernel of its own cokernel:

<math>m = \ker(\operatorname{coker}(m))</math>

IntuitionEdit

The cokernel can be thought of as the space of constraints that an equation must satisfy, as the space of obstructions, just as the kernel is the space of solutions.

Formally, one may connect the kernel and the cokernel of a map Template:Math by the exact sequence

<math>0 \to \ker T \to V \overset T \longrightarrow W \to \operatorname{coker} T \to 0.</math>

These can be interpreted thus: given a linear equation Template:Math to solve,

  • the kernel is the space of solutions to the homogeneous equation Template:Math, and its dimension is the number of degrees of freedom in solutions to Template:Math, if they exist;
  • the cokernel is the space of constraints on w that must be satisfied if the equation is to have a solution, and its dimension is the number of independent constraints that must be satisfied for the equation to have a solution.

The dimension of the cokernel plus the dimension of the image (the rank) add up to the dimension of the target space, as the dimension of the quotient space Template:Math is simply the dimension of the space minus the dimension of the image.

As a simple example, consider the map Template:Math, given by Template:Math. Then for an equation Template:Math to have a solution, we must have Template:Math (one constraint), and in that case the solution space is Template:Math, or equivalently, Template:Math, (one degree of freedom). The kernel may be expressed as the subspace Template:Math: the value of Template:Mvar is the freedom in a solution. The cokernel may be expressed via the real valued map Template:Math: given a vector Template:Math, the value of Template:Mvar is the obstruction to there being a solution.

Additionally, the cokernel can be thought of as something that "detects" surjections in the same way that the kernel "detects" injections. A map is injective if and only if its kernel is trivial, and a map is surjective if and only if its cokernel is trivial, or in other words, if Template:Math.

ReferencesEdit

Template:Refbegin

Template:Refend

Template:Category theory

de:Kern (Algebra)#Kokern