# Any suggestions for a Math book to revive my long lost math skills and knowledge?

Since I got my bachelor degree in computer science in 2005, I have rarely been in touch with or even need to do any significant mathematical calculations. I have consequently lost most of my math skills and knowledge. I am now a postgraduate student and I need to revive them.

Any suggestion for a good math book, particularly those most relevant to computer science, will be deeply appreciated.

• You didn't really mention what math skills you used to have. – Seth Oct 11 '14 at 11:43
• Nothing in particular. I just need to revive all the basic and fundamental skills that you would expect any computer "scientist" to be equipped with. – Sultan Abraham Oct 11 '14 at 11:47

For a CS student, linear algebra is a pretty useful skill. And if you want an intro to it that uses CS idea in a big way, Philip Klein's introductory text and the associate Coursera course is pretty darned good. (Disclosure: Klein is a colleague of mine, and I advised him as he wrote the book/course, although he didn't always take my advice! Any profits go to him.)

Typical examples of vector spaces that he looks at:

• The set of all maps from edges of a graph $G$ to $\mathbb Z / 2\mathbb Z$. This lets him talk about things like "independent sets of edges" and "loops in the graph" in linear algebra terms

• The set of maps from the lights of a "Lights Out" game to $\mathbb Z / 2\mathbb Z$. Now each button-press can be represented as the addition of some vector to a given state of the game (which is a map from the lights to "Off/On"), and the question of whether a particular puzzle (initial setting of the lights) can be solved amounts to asking whether the initial state is a linear combination of the available button-press vectors, i.e., a linear-dependence question. Various approaches to solving this turn out to look like various flavors of row-reduction on a matrix.

Of course, he also considers vectors with real entries, or even complex-number entries. Pretty much everything he does is paralleled by implementation in Python.

There are applications to image processing, image compression, codes, and other CS-related topics.

The book restricts attention to finite-dimensional spaces, and tends to avoid discussing determinants (but not inverses!); otherwise, it covers much the same material as most linear algebra courses. The one major distinction is that rather than starting from $\mathbb R^n$, whose elements you can think of as "maps from $\{1, \ldots, n\}$ to $\mathbb R$, he starts from "maps from an arbitrary finite set $S$ to $\mathbb R$". This point of view is really valuable in CS applications, but may surprise mathematicians who are used to a different presentation.