The most familiar example of a module is probably a vector space like , in which you can add and subtract vectors, or multiply a vector by a real number (a scalar). More generally, the abstract axioms for a vector space over a field look like this:
- The data: is an abelian group (so it comes with a notion of and ), and we have a “multiplication” (so you can multiply vectors by scalars).
- The properties: is bilinear and an action, in the sense that for all and ,
- , and
- and .
It’s straightforward to check that , with the product abelian group structure under addition, and componentwise multiplication by , is always a vector space over . In fact, these and their infinite-dimensional variants are the only examples of vector spaces, up to isomorphism.
One key feature of the vector space axioms is that nowhere do they use division. The only properties of that we use explicitly are its addition, multiplication, and unit element; if we also want to be a vector space over itself, we also implicitly use that addition makes an abelian group, and that multiplication makes a monoid and distributes over addition.
A set equipped with both an abelian group structure and a monoid structure distributing over it is called a ring. (Any field, like or , is a ring, but there are also rings like which are not fields because their nonzero elements don’t all have multiplicative inverses.) If is a ring, then an -module is, again, just an abelian group with a multiplication that is both bilinear and an action in the exact same sense as for vector spaces over fields. We automatically get an -module structure on each power , just as with vector spaces over fields.
(Note: I’m most comfortable working with commutative rings, in which the multiplication operation commutes. In the following, every ring is assumed to be commutative.)
Question: Every vector space over a field is isomorphic to one of the form or its infinite-dimensional analogues. Is the same true for modules over a ring ?
Answer: No! The technical result for vector spaces is that every vector space has a basis: if is a vector space over , then a basis for is a collection of vectors for which every vector in can be uniquely written as a -linear combination with all the and the . If you’ve got a basis of size , say , then you get an isomorphism sending to , to , and so on up to .
The notion of basis makes sense in the module context—a collection of elements of such that every element can be written uniquely as an -linear combination of them—it’s just that modules don’t in general have them. Here are two examples of modules without a basis:
Example 1. The abelian group is a -module under the multiplication . (In fact, every abelian group is a -module in a unique way.) But while has the property that every other element can be written as a multiple of it (e.g. and ), there’s more than one way to do so: we also have and . It’s not hard to see that no other collection of elements of forms a basis either.
Example 2. The abelian group is also a -module with the ordinary multiplication , but it doesn’t have a basis of any size. Suppose I had such a basis , and write as a -linear combination . Double this equation: We now have but also . These are two different linear expressions for the same element of —the coefficient of is even in one and odd in the other—which contradicts our assumption that was a basis.
Having a basis is actually pretty unusual for a module, and modules that do have them are called free. It’s much more common to drop uniqueness and ask merely for a collection of elements such that every other element can be written in at least one way as a linear combination of them, like did for . That’s called a generating set, and if you’ve got one, its elements are called generators. In the case of a singleton generating set like , that says the map sending to is surjective, and in general, a size- generating set for gives you a surjection sending up to .
Question: Even though not every module has a basis, does every module at least have a generating set?
Answer: Yes—just take the whole module as its generating subset! This is usually overkill: , for example, can be generated as a -module by just the two elements and . In general, we say that if a module has a finite generating set then it is finitely generated. For vector spaces, that reduces to the ordinary notion of a finite-dimensional vector space. Taking any infinite-dimensional vector space, then—say, the -vector space of all polynomials with real coefficients, or the -vector space of all real numbers—we get an example of a module that is not finitely generated.