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.