## The relationship between theory and computation in linear algebra.

There are two very different ways of thinking about the results of
a typical linear algebra course. The first is theoretical: one enjoys
the purely abstract notion of a vector space, with neat proofs of
theorems to do with bases, dimension, linear maps, kernels, images,
ranks and so on. The second is computational: for example, one might
be given some explicit vector space (such as the kernel of a map
defined by a matrix) and asked to exhibit a basis. It is quite
possible to be completely on top of the theory and yet completely
at sea when one is called upon to show how the theory relates to a
particular example. Many students have found themselves in this position
at one time or another.

It is therefore a very good idea, when studying linear algebra for
the first time, to pay close attention to the computational side of
the subject. (The theoretical side, one can almost guarantee, will not
be neglected by your lecturer.) One way to do this is simply to learn
algorithms for solving the kinds of questions you are asked to solve
(which usually boil down to solving some simultaneous
equations). Better still is to see how the theoretical proofs often
* give rise * to those algorithms if you work through them with
reference to a specific example. (Conversely, the algorithms, once
tidied up, give rise to the theoretical proofs.) Many years ago,
somebody said to me, `Of course, the Steinitz exchange lemma is
basically just Gaussian elimination'. Though I believe this statement,
I have never quite got round to seeing for myself why it is
true. However, I shall soon be teaching the Steinitz exchange lemma,
and intend to put this situation to rights. I shall then add a section
on why the Steinitz exchange lemma and
Gaussian elimination are basically the same thing.