This book is a collection of problems in which linear algebra appears as an aid to find a solution. The author calls them "miniatures".
The topics of these problems fall into the fields of combinatorics, geometry, and computer science, the author's main fields of mathematical interest. The linear-algebraic methods used cover most techniques learned in a first Linear Algebra course: linear dependence and linear maps, infinite dimensional vector spaces, eigenvalues, determinants, bilinear forms, inner products and norms. Some more advanced tools as tensor and exterior products are also used after a brief introduction with the basic definitions.
The book is addressed mainly to lectures and also to students interested in nice mathematical ideas even when they require some thinking. Each miniature is presented in a self-contained way and it is short enough so that, in the author's experience, it can be taught to the students in a 90-minute lecture.
Right in the first paragraph (or even before, in the title), each miniature presents a problem in an appealing way. Examples of the problems are: How fast can you find a triangle in a very big graph? How many points can you have in the plane so that the distances between any two of them attain exactly two values? How many spanning trees does a graph have? In how many ways can you fill a chessboard with domino tilings? Can you turn around a ladder inside a small garden? The story of the secret agent sending messages in the most efficient way... At this point I strongly recommend the reader to spend a while playing with the problem and looking for a solution. Not only for amusement, but also because, even if no solution is found -which might be quite possible- he will better appreciate and will be greatly surprised by the beautiful and clever ideas behind the problem.
Applications of linear algebra is the common denominator of the thirty-three miniatures, but the reader can learn much more mathematics. On the one hand, other techniques are also commonly used in the proofs, such as polynomials or finite fields. On the other hand, most of the problems presented constitute a very good introduction to some mathematical fields, like coding theory, complexity of algorithms, geometric topics as Gram matrices, the Kakeya problem or the Knaster problem, as well as many topics in graph theory, as spanning trees, complete matchings, spectral graph theory, or the Shannon capacity. Many of them connect with some research problems and open conjectures. At the end of each miniature there are some references for further reading.
The exposition is clear and didactic, starting with motivating examples before going to the mathematical formulations, and giving hints why some techniques work or do not work. Finally the book is carefully written, in a very agreeable and sometimes humoristic style, which makes its reading a really pleasant one.
All the above makes this book highly recommendable.