You are here

Numbers, Groups and Codes

J. F. Humphreys and M. Y. Prest
Cambridge University Press
Publication Date: 
Number of Pages: 
BLL Rating: 

The Basic Library List Committee recommends this book for acquisition by undergraduate mathematics libraries.

[Reviewed by
Thomas R. Berger
, on

This is a very nice but quite specialized book on undergraduate abstract algebra. It would probably be very suitable for a class with many students interested in combinatorics, computer science, or engineering. The special character of this book can be seen in the table of contents. Chapter 1 spends 75 pages on the ring of integers. Even though confined to the integers and the integers modulo n, the presentation covers the major theorems about Euclidean domains. The chapter ends with a discussion of RSA encryption. Chapter 2 spends 50 pages on functions, sets, and relations. The chapter ends with a discussion of finite state machines. Chapter 3 is 20 pages on logic. Without becoming too technical, the book introduces symbolic logic and discusses logical proof. Chapter 4 begins on page 147 with groups, a topic usually reached much earlier in a course. By this many pages, most courses have completed a semester of work. The coverage of earlier topics is very good for students interested in computer science. The depth of coverage of the initial topics is much greater than traditional algebra books. The authors state in the Preface, “The choice of topics in the book is motivated by the wish to provide a sound, rigorous and historically based introduction to group theory.” Where this book deviates from the rest, the authors say, “We have, however, tried to avoid the dryness frequently associated with a rigorous approach.” And I think they have succeeded.

This book merits a close look because of its pedagogical strengths. One might say this book really is about “How to think about mathematics.” And that is a great virtue. In the beginning few chapters, the authors try to create a setting for a theorem or method of proof. The object is to create in the mind the way that mature mathematicians view the material. Following a proof the authors discuss “Why it works.” or “The gist of the proof.” Very early, the authors pay attention to ideas from algebra that are important in computer science. On page 30, a binary factorization tree is given for the number 588. Euclid’s proof that there are infinitely many primes has just been given and the authors also state that this is a beautiful and clever proof, pointing out that it actually produces a “new” prime.

The book is sprinkled with historical and other motivations. The historical snippets are not sidelights, but flow naturally with the text. When the Chinese Remainder Theorem is proved, the Mathematical Treatise in Nine Sections of 1247 is mentioned in less space than it takes me to tell it here. At the end of the same section is a classic division problem stated as pirates dividing gold. Fermat’s thinking on Fermat’s Last Theorem is given a little more space, which it deserves. The history is natural, fits, and flows with the exposition.

Chapter 2 on set theory introduces the main ideas along with the notation. The authors want the student to think about matters algebraically. When introducing the power set they say, “So we are thinking of the set P(X) as all subsets of a set X, equipped with the operations ‘union’, ‘intersection’, and ‘complement’, as being some kind of ‘algebraic structure.’” The prose draws the reader into a way to think about the mathematics. When relations are presented, they are connected to the kinds of structures needed to translate the mathematics into computer science. Graphs are discussed as relations and a nice tree is abstracted from concrete information about a railroad line serving a mountain community. Unfortunately, I can only give you tiny pieces of a much larger picture.

In Chapter 3 on logic the authors want to say much more than the space provides so they are not at all afraid to discuss deeper results of logic in an informal way. For example they discuss Goedel’s completeness theorem without bogging down. The result is related to the logic that has been presented.

By the time the book reaches group theory at page 147, the presentation has become more traditional. Permutation groups are the primary example of groups (as is the case in most books). The emphasis is on that part of group theory of value in combinatorics and computer science. Symmetry groups of plane figures are discussed. Then the discussion becomes general because the authors want to relate a great deal without going into details. The chapter concludes with a discussion different kinds of algebraic structures. Again, there is much of value to students of computer science. Chapter 5 covers abstract groups in the context of error correcting codes. Because these codes are much closer to the author’s goals, the “how do we think about this” aspect of the book is once more evident. The authors mean it when they say on page 203 that “Once we start on the details of the proof, note that most lines of the proof are, not just an equation, but include some comment on how the equation was obtained.” The book is always teaching. Before going on to error correcting codes, the authors present Lagrange’s Theorem and an analysis of some groups of small order.

The last chapter treats polynomials, mimicking the presentation on integers at the beginning of the book. The primary application is to a very brief excursion into cyclic codes.

If the audience is right and the topics are suitable, this book might be a very useful text on abstract algebra.

 Tom Berger is Professor of Mathematics at Colby College.


1. Number theory; 2. Sets, functions and relations; 3. Logic and mathematical argument; 4. Examples of groups; 5. Group theory and error-correcting codes; 6. Polynomials.