Pseudo-abelian category

In mathematics, specifically in category theory, a pseudo-abelian category is a category that is preadditive and is such that every idempotent has a kernel. Recall that an idempotent morphism $$p$$ is an endomorphism of an object with the property that $$p\circ p = p$$. Elementary considerations show that every idempotent then has a cokernel. The pseudo-abelian condition is stronger than preadditivity, but it is weaker than the requirement that every morphism have a kernel and cokernel, as is true for abelian categories.

Synonyms in the literature for pseudo-abelian include pseudoabelian and Karoubian.

Examples
Any abelian category, in particular the category Ab of abelian groups, is pseudo-abelian. Indeed, in an abelian category, every morphism has a kernel.

The category of rngs (not rings!) together with multiplicative morphisms is pseudo-abelian.

A more complicated example is the category of Chow motives. The construction of Chow motives uses the pseudo-abelian completion described below.

Pseudo-abelian completion
The Karoubi envelope construction associates to an arbitrary category $$C$$ a category $$\operatorname{Kar}C$$ together with a functor
 * $$s:C \to \operatorname{Kar}C$$

such that the image $$s(p)$$ of every idempotent $$p$$ in $$C$$ splits in $$\operatorname{Kar}C$$. When applied to a preadditive category $$C$$, the Karoubi envelope construction yields a pseudo-abelian category $$\operatorname{Kar}C$$ called the pseudo-abelian completion of $$C$$. Moreover, the functor
 * $$C \to \operatorname{Kar}C$$

is in fact an additive morphism.

To be precise, given a preadditive category $$C$$ we construct a pseudo-abelian category $$\operatorname{Kar}C$$ in the following way. The objects of $$\operatorname{Kar}C$$ are pairs $$(X,p)$$ where $$X$$ is an object of $$C$$ and $$p$$ is an idempotent of $$X$$. The morphisms
 * $$f:(X,p) \to (Y,q)$$

in $$\operatorname{Kar}C$$ are those morphisms
 * $$f:X \to Y$$

such that $$f = q \circ f = f \circ p$$ in $$C$$. The functor
 * $$C \to \operatorname{Kar}C$$

is given by taking $$X$$ to $$(X, \mathrm{id}_X)$$.