In category theory and its applications to mathematics, a biproduct of a finite collection of objects, in a category with zero objects, is both a product and a coproduct. In a preadditive category the notions of product and coproduct coincide for finite collections of objects. The biproduct is a generalization of finite direct sums of modules.
Given objects A1,...,An in C, their biproduct is an object A1 ⊕ ··· ⊕ An together with morphisms
- pk: A1 ⊕ ··· ⊕ An → Ak in C (the projection morphisms)
- ik: Ak → A1 ⊕ ··· ⊕ An (the injection morphisms)
- pk ∘ ik = 1Ak, the identity morphism of Ak
- pl ∘ ik = 0, the zero morphism Ak → Al, for k ≠ l.
and such that
An empty, or nullary, product is always a terminal object in the category, and the empty coproduct is always an initial object in the category. Since our category C has a zero object, the empty biproduct exists and is isomorphic to the zero object.
More generally, biproducts exist in the category of modules over a ring.
Also, biproducts do not exist in the category of sets. For, the product is given by the Cartesian product, whereas the coproduct is given by the disjoint union. Note also that this category does not have a zero object.
Block matrix algebra relies upon biproducts in categories of matrices.
If the biproduct A ⊕ B exists for all pairs of objects A and B in the category C, then all finite biproducts exist.
If the product A1 × A2 and coproduct A1 ∐ A2 both exist for some pair of objects Ai, then there is a unique morphism f: A1 ∐ A2 → A1 × A2 such that
- pk ∘ f ∘ ik = 1Ak
- pl ∘ f ∘ ik = 0 for k ≠ l.
It follows that the biproduct A1 ⊕ A2 exists if and only if f is an isomorphism.
If C is a preadditive category, then every finite product is a biproduct, and every finite coproduct is a biproduct. For example, if A1 × A2 exists, then there are unique morphisms ik: Ak → A1 × A2 such that
- pk ∘ ik = 1Ak
- pl ∘ ik = 0 for k ≠ l.
To see that A1 × A2 is now also a coproduct, and hence a biproduct, suppose we have morphisms fk: Ak → X for some object X. Define f := f1 ∘ p1 + f2 ∘ p2. Then f: A1 × A2 → X is a morphism and f ∘ ik = fk.
Note also that in this case we always have
- i1 ∘ p1 + i2 ∘ p2 = 1A1 × A2.
- Borceux, 4-5
- Borceux, 8
- Borceux, 7
- H.D. Macedo, J.N. Oliveira, Typing linear algebra: A biproduct-oriented approach, Science of Computer Programming, Volume 78, Issue 11, 1 November 2013, Pages 2160-2191, ISSN 0167-6423, doi:10.1016/j.scico.2012.07.012.