Given a family of modules $\{A_i\}_{i \in I}$, I always understood that the main difference between an element of the product $\Pi A_i$ and the direct sum $\oplus A_i$ to be that if you take an element of the direct sum, it will have only finitely many of the terms coming from each module can be non-zero, where with the product, you can have as many terms as you want to be non zero.

Products and coproducts are basic concepts in category theory and the definitions are given as follows:

The product of a set of objects $\{C_i\}_{i \in I}$ in the category $C$ is an object $\Pi_{i \in I}C_i$ in $C$ together with maps $\pi_j: \Pi C_i \rightarrow C_j$ such that that for all object's $A \in C$ and every family of morphisms $\alpha_i: A \rightarrow C_i$, there exists a unique morphism $\alpha: A \rightarrow \Pi C_i$ such that $\alpha_i=\pi_i \alpha$

The coproduct of a set of objects $\{C_i\}_{i \in I}$ in the category $C$ is an object $\coprod C_i$ in $C$ together with maps $i_j: C_j \rightarrow \coprod C_i$ such that for every family of morphisms $\alpha_j: C_j \rightarrow A$ there is a unique morphism $\alpha: \coprod C_i \rightarrow A$ such that $\alpha i_j =\alpha_j$.

In the category of modules, the direct sum is the coproduct and the product is the product. I'm wondering, where in the category theoretic definitions of product and coproduct is my previous understanding (of an element of a direct sum being expressed as all but finitely many entries are non-zero where as in a product you can have an arbitrary number of the entries non-zero) expressed?.



2 Answers 2


Suppose that we wanted to determine $M=\coprod_{i\in I}C_i$ from the category theory definition. Think about what we know:

  1. $M$ is a module.

  2. For each $i$, there is a morphism $\iota_i : C_i \rightarrow M$.

You can think of this defining an algebraic structure - just like the definition of a group or ring or module. So, we know that, if $c_1\in C_1$ and $c_2\in C_2$ then we know that $\iota_1 c_1 + 3\cdot \iota_2 c_2$ has to be in $M$, since it's a combination of elements we know must be in there. To be more explicit, the objects we are sure must be in the coproduct would have the form $$\alpha_{1}\iota_{i_1}c_{1}+\alpha_{2}\iota_{i_2}c_{2}+\ldots + \alpha_{k}\iota_{i_k}c_{k}$$ where the $\alpha_j$ come from the ring of coefficients and $c_j$ come from the corresponding $C_{i_j}$. We can always group any pair of terms with the same $\iota_{i_1}$ and could move the $\alpha_i$ inside of the $\iota$s to just get that the only element's we're sure must be in such a structure a of the form $$\iota_{i_1}c_1+\ldots + \iota_{i_k}c_k$$ for distinct $i_j$. While there are plenty of structures containing all this data (for instance: $M$ could be the zero module and all of these things could be equal!), the coproduct is the "freest" (initial) such structure, and hence contains only the elements that must be in $M$ and does not impose any extra relations between them. Since the set of expressions of the prior form do form a module under the right operations, we can find out that that is indeed the coproduct. Then, we can move to a less natural definition where we note that "finite sums of elements of $c_i$ under the inclusion maps" is easily isomorphic to "elements of the cartesian product $\prod_i C_i$ with only finitely many non-zero terms."

The product $M = \prod_i C_i$ invokes a different structure:

  1. $M$ is a module.

  2. For each $i$, there is a map $\pi_i : M\rightarrow C_i$.

This definition doesn't so much tell us about what the elements of $M$ are, but rather what we can do with them: for any element $m\in M$, we can extract an element of the cartesian product (of sets) $\prod_i C_i$ by applying each of the functions $\pi_i$ to $m$. The universal property says that $M$ is a terminal example of such an object, meaning that defining a map to $M$ is the same as defining a map to $\prod_i C_i$ such that each map to a coordinate is a morphism the corresponding to $C_i$. Of course, since this Cartesian product has the structure of a module where the morphisms into it are the same as the functions whose coordinates are each morphisms, this means that the product has to be $\prod_i C_i$.

Another, more formal way to deal with this is to note that in the category of $R$-modules, $$\operatorname{Hom}(R, M) \cong M$$ where we can regard the set of maps between two modules as a module by pointwise operations. Note that this is essentially considering the family maps $f_m(r)=r\cdot m$ for $m\in M$. The universal property essentially says $$\operatorname{Hom}(R, \prod_{i\in I}C_i) \cong \prod_{i\in I }\operatorname{Hom}(R, C_i) \cong \prod_{i \in I}C_i$$ where the later two products are products of sets, not modules - but where module structure can then be imposed in a natural way. This level of indirection is necessary since the universal property of a product specifies the maps out of a module, which doesn't inherently tell us much about the elements of that module - so we need to find a way to identify the elements of a module by knowing the maps out of it, and the relation $\operatorname{Hom}(R, M) \cong M$ encodes what we need to reason about elements.

  • $\begingroup$ Thanks for this, I'm going to come back and reread this in a few hours to absorb it better haha. $\endgroup$ Feb 8, 2020 at 18:05

The direct sum of modules satisfies a number of universal properties: it's the coproduct, it's a direct sum in a more general sense, it's a weak direct product, etc. Since universal properties only characterize objects in a category up to isomorphism, we shouldn't expect to see the description of the direct sum in terms of tuples with cofinitely many nontrivial entries in every universal property, since this description isn't invariant under isomorphism. Your original understanding of the direct sum fits very well with its description as a weak direct product, slightly less well with its description as a generalized direct sum, and not very well with its description as a coproduct.

Here's what I mean. The weak direct product is defined as a colimit over products: $$ \mathrm{WP}_{i \in I} A_{i} = \mathrm{colim}_{F \in \mathrm{Fin}(I)} \prod_{i \in F} A_{i} $$ where I've written $\mathrm{Fin}(I)$ for the poset of finite subsets of $I$, ordered by inclusion. Now this poset is filtered, so the weak direct product is made up of filtered colimits and products. The underlying set functor commutes with filtered colimits and products, so the underlying set of the weak direct product of some modules is the weak direct product of the underlying sets of the modules. Now recall the standard construction of filtered colimits and products in the category of sets. According to these constructions, an element of the weak direct product is an equivalence class of the form $[(F, a_{i})]$, where $F$ is a finite subset of $I$ and $a_{i}$ is an element of $\prod_{i \in F} A_{i}$. Two pairs $(F, a_{i})$ and $(F', a'_{j})$ are equivalent if $a_{i}$ and $a'_{i}$ are equal when they are extended to the product $\prod_{i \in F \cup F'} A_{i}$ by filling in with zeros where necessary. So we can think of the equivalence class $[(F, a_{i})]$ as being an element of $\prod_{i \in I} A_{i}$ that vanishes for indices other than those in $F$, and this is where the finiteness comes from.

It's not too hard to show that the weak direct product of modules satisfies the universal property of the coproduct, and since this characterizes it up to isomorphism any construction of the coproduct will be isomorphic to the one we just constructed. However, the universal property of the coproduct doesn't interact very helpfully with the forgetful functor to the category of sets, so it doesn't give us a good formula for the underlying set.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.