In the last chapter we took on the central problem of linear algebra: solving
systems of linear equations. We built a lot of useful tools, but we only
answered the questions in the case of *square systems* where the
number of variables is equal to the number of equations.

Now it is time to solve the problem in general. As a reminder, the set of questions is this:

- What is the set of solutions to a given system of linear equations?
- When does a given system have solution, and when does it not?
- If there is a solution, how many solutions are there?
- What ways do we have of describing the collection of solutions?
- Is there a computationally effective way to find those solutions?

We will run into the need for a few new tools, each of which has been
hiding in the background in our work so far. For square systems, we could
get away without this level of detail, but now we will need these concepts
to clarify our work: *subspaces*, *rank* and
*reduced row echelon form*, and *bases*.

This chapter concludes with a description of the *four fundamental subspaces*
associated to a matrix. These will help us put together an understanding of
the transformational model of an \(m\times n\) matrix as a function with
domain \(\mathbb{R}^n\) and target \(\mathbb{R}^m\).