Modules are built to let rings act on abelian groups, but this flexibility comes with a cost: a module need not have coordinates. A [vector space](/page/Vector%20Space) over a field is controlled by a basis; every vector has a unique coordinate expansion, every linearly independent set can be extended to a basis, and every spanning set can be trimmed to a basis. Over a general ring, these familiar statements can fail. A free module is the part of module theory where coordinates still exist.
text
admin
The guiding question is not merely whether a module is generated by some set. Generation says that every element can be written using the generators. Freeness says that this expression is unique. That extra uniqueness is what lets matrices, rank, exact sequences, and tensor products behave in a controlled way.
text
admin
[example: A Generated Module with Non-Unique Coordinates]
Let $R=\mathbb{Z}$ and regard $M=\mathbb{Z}/2\mathbb{Z}$ as a $\mathbb{Z}$-module, with scalar action $n\bar{a}=\overline{na}$. The element $\bar{1}$ generates $M$: if $m\in M$, then either $m=\bar{0}=0\bar{1}$ or $m=\bar{1}=1\bar{1}$.
The coordinate expression using $\bar{1}$ is not unique. Indeed,
\begin{align*}
1\bar{1}=\bar{1}
\end{align*}
and
\begin{align*}
3\bar{1}=\bar{3}=\bar{1}
\end{align*}
because $3-1=2$ is divisible by $2$. Thus $1\bar{1}=3\bar{1}$ even though $1\ne 3$ in $\mathbb{Z}$. Equivalently,
\begin{align*}
2\bar{1}=\bar{2}=\bar{0}
\end{align*}
so the nonzero coefficient $2\in\mathbb{Z}$ gives a relation on the proposed generator $\bar{1}$. Therefore $M$ is cyclic, but it is not free on $\{\bar{1}\}$.
In fact $M$ is not free as a $\mathbb{Z}$-module. If $M$ had a basis $(e_i)_{i\in I}$ and $\bar{1}=\sum_{i\in I} a_i e_i$, then multiplying by $2$ would give
\begin{align*}
0=2\bar{1}=\sum_{i\in I} (2a_i)e_i.
\end{align*}
Uniqueness of coordinates in a basis forces $2a_i=0$ for every $i$. Since $a_i\in\mathbb{Z}$, this implies $a_i=0$ for every $i$, so $\bar{1}=0$, a contradiction. The obstruction is torsion: $\bar{1}\ne 0$ but $2\bar{1}=0$.
[/example]
example
admin
This example isolates the main obstruction. A finite generating set may still carry hidden relations. Free modules are exactly the modules for which the chosen generators have no hidden relations at all.
text
admin
## Definition
h2
admin
A [module](/page/Module) generalizes a vector space by allowing scalars from a ring rather than a field. The parent concept gives addition and scalar multiplication; the child concept of a free module asks for a coordinate system compatible with that module structure.
text
admin
[definition: Free Module]
Let $R$ be a ring with identity, and let $M$ be a left $R$-module. The module $M$ is a free left $R$-module if there exists a set $I$ and elements $(e_i)_{i \in I}$ of $M$ such that for every $m \in M$ there is a unique family $(r_i)_{i \in I}$ with $r_i \in R$ and $r_i = 0_R$ for all but finitely many $i \in I$ satisfying
\begin{align*}
m = \sum_{i \in I} r_i e_i.
\end{align*}
[/definition]
definition
admin
The finite-support condition is part of the definition: even when the basis set is infinite, each individual module element uses only finitely many basis elements. The unique object is the whole coefficient family, not a chosen finite index set; adding extra zero coefficients does not create a new coordinate expansion. To use freeness in calculations, we need to name the coordinate systems that witness it. Different choices of such systems can give different-looking coordinates for the same module element.
text
admin
## Bases and Coordinate Models
h2
admin
The definition of a free module asserts that some coordinate expansion exists, but it does not give a fixed coordinate system to use in later constructions. When we want to compare coordinates, define maps by specifying images of coordinate vectors, or speak about rank, we must keep track of the particular family that supplies those unique finite expansions.
text
admin
### Bases
h3
admin
A free module is useful only after we remember which family supplies its coordinates. The following definition isolates that family: it is the data that lets every element of $M$ be read uniquely as a finite coordinate vector, so later maps and matrix descriptions can be specified by what they do to these coordinate elements.
text
admin
[definition: Basis of a Free Module]
Let $R$ be a ring with identity, and let $M$ be a left $R$-module. A family $(e_i)_{i \in I}$ of elements of $M$ is a basis of $M$ if for every $m \in M$ there is a unique family $(r_i)_{i \in I}$ with $r_i \in R$ and $r_i = 0_R$ for all but finitely many $i \in I$ satisfying
\begin{align*}
m = \sum_{i \in I} r_i e_i.
\end{align*}
[/definition]
definition
admin
The word basis here means the same two conditions as in linear algebra: spanning and no relations. The difference is that coefficients now lie in $R$, and nonzero ring elements can behave in ways that nonzero field elements cannot.
text
admin
Finite coordinate systems are especially important because they are the setting where matrices, determinants over commutative rings, and finite presentations enter. Before rank becomes a numerical invariant, we first need a phrase for the concrete situation where a free module is presented with exactly $n$ coordinates. The invariant-basis issue is addressed later; at this stage the definition records the existence of an $n$-element basis.
text
admin
[definition: Free Module of Rank $n$]
Let $R$ be a ring with identity and let $n \ge 0$ be an integer. A free left $R$-module of rank $n$ is a free left $R$-module admitting a basis indexed by $\{1, \ldots, n\}$, with this index set interpreted as empty when $n=0$.
[/definition]
definition
admin
For such a module, the standard model is $R^n$, whose elements are columns or tuples of ring elements; when $n=0$, this is the zero module $R^0=0$. A module that is free with the displayed $n$-element coordinate system is not merely generated by $n$ elements; it is isomorphic to this standard coordinate module. Over rings with invariant basis number, introduced below, the integer $n$ is independent of the chosen finite basis.
text
admin
[example: The Standard Free Module $R^n$]
Let $R$ be a ring with identity, and write elements of $R^n$ as $n$-tuples. For each $i\in\{1,\ldots,n\}$, let $e_i$ be the tuple whose $i$th coordinate is $1_R$ and whose other coordinates are $0_R$. We show that $(e_i)_{i=1}^n$ is a basis of $R^n$.
For any $x=(x_1,\ldots,x_n)\in R^n$, the $j$th coordinate of $\sum_{i=1}^n x_i e_i$ is
\begin{align*}
x_1(0_R)+\cdots+x_{j-1}(0_R)+x_j(1_R)+x_{j+1}(0_R)+\cdots+x_n(0_R)=x_j.
\end{align*}
Thus
\begin{align*}
x=\sum_{i=1}^n x_i e_i.
\end{align*}
So the standard coordinate vectors span $R^n$.
Now suppose
\begin{align*}
\sum_{i=1}^n r_i e_i=0.
\end{align*}
The $j$th coordinate of the left side is
\begin{align*}
r_1(0_R)+\cdots+r_{j-1}(0_R)+r_j(1_R)+r_{j+1}(0_R)+\cdots+r_n(0_R)=r_j.
\end{align*}
The $j$th coordinate of the zero tuple is $0_R$, so $r_j=0_R$. Since this holds for every $j\in\{1,\ldots,n\}$, all coefficients are zero. Hence the standard coordinate vectors span $R^n$ and have no nonzero linear relation, so they form a basis.
[/example]
example
admin
### Coordinate Models
h3
admin
The same idea works with infinitely many basis vectors, but the finite-support rule changes the ambient object. If an infinite basis is allowed, the natural coordinate module must remember that every element has only finitely many nonzero coordinates. This is the reason direct sums, rather than direct products, model free modules.