×

Handbook of computational group theory. (English) Zbl 1091.20001

Discrete Mathematics and its Applications. Boca Raton, FL: Chapman & Hall/CRC Press (ISBN 1-58488-372-3/hbk). xvi, 514 p. (2005).
Over the last 10-15 years the use of computational methods, in particular using the systems GAP and Magma, has become an established technique in group theory.
Unfortunately this conflicts with the fact that much of the methods used in these systems were published only in research-level papers or theses or even were only “published” in the form of computer code.
This situation has been undesirable not only with respect to the intellectual aspect of “knowing what happens inside”, but also because an efficient use of computation typically requires some knowledge of the methods employed to enable the user to ask the right question, a point strongly made by J. Neubüser [“An invitation to computational group theory”, Lond. Math. Soc. Lect. Note Ser. 212, 457-475 (1995; Zbl 0861.20001)].
The work under review finally resolves this dilemma and gives a comprehensive description of the area of Computational Group Theory.
The book starts with a short historical chapter.
Chapter 2 describes the basic concepts of Group Theory that will be used. Much of this will be familiar to a reader experienced in Group Theory.
Chapter 3 starts the main corpus of the book with a description on how to represent groups on a computer and perform basic computations with them.
Chapter 4 considers the basic theory of permutation group algorithms – presented already in more detail in the monograph by Á. Seress [Permutation group algorithms (2003; Zbl 1028.20002)], – starting with blocks and going via stabilizer chains to backtrack algorithms and structural computations (\(p\)-core and solvable radical, a composition series algorithm is presented in chapter 10).
Chapter 5 describes the algorithms for finitely presented groups that relate to coset enumeration. In contrast to the earlier monograph of C. C. Sims [Computation with finitely presented groups (1994; Zbl 0828.20001)] the description here is “classical”, using coset tables.
Chapter 6 combines the material of the two previous chapters to describe the computation of presentations for a given finite group. As application of this Sims’ verification method for stabilizer chains is presented.
The topic of chapter 7 is representation theory. Algorithms here concern the MeatAxe and variations, cohomological calculations as well as the Dixon-Schneider algorithm for the determination of a character table. It also considers computations in matrix groups, ending with a brief overview over the current research topic of Matrix Group Recognition.
Chapter 8 describes the algorithmic theory for polycyclic groups, starting with polycyclic presentations and ending with algorithms for normalizer, conjugacy classes and automorphism group. Integration of this in the remaining text is slightly less tight than with the other chapters and general aspects of rewriting systems only come in a later chapter.
Chapter 9 treats quotient algorithms, starting with a detailed description of Abelian quotients and Smith normal form computations and leading via a description of the \(p\)-quotient algorithm to methods for generating \(p\)-groups up to isomorphism.
Chapter 10 returns to the topic of permutation groups. It describes computation of a chief series as well as the “solvable radical method” which generalizes many of the algorithms for polycyclic groups to the case of general permutation groups and is the basis of many current algorithms for permutation groups that go beyond a chief series. This method is illustrated extensively with the example of computing the subgroup lattice.
Chapter 11 describes the availability and construction of several data bases for transitive and primitive permutation groups, perfect groups and groups of small order.
Chapter 12 covers the basic ideas of rewriting systems which can be considered a generalization of the concept of polycyclic groups.
Chapter 13 finally describes the algorithmic theory of automatic groups.
Overall the material of this book covers all one could expect from a single book. (Just giving reference to the original publications covered is virtually impossible without duplicating the book’s extensive bibliography.)
The book is written on the level of a graduate textbook which brings the reader with knowledge of a basic algebra course essentially up to the level of current research. Much of the existing literature is carefully and concisely described (as this reviewer can testify concerning his thesis).
Algorithms are described on a level that includes a reasonable level of optimization without getting lost in granular details of programming tricks. (For example a coding by the reviewer of the low-index algorithm following the book’s description in section 5.4.2 produced a competitive implementation at first attempt.) In these aspects the book resembles most closely the work by H. Cohen [A course in computational algebraic number theory (1993; Zbl 0786.11071)] for algebraic number theory.
The work has been very carefully edited, as witnessed by the very small number of erratas for a work of this magnitude. Many of the algorithms are illustrated by meaningful examples.
Having taught a course on Computational Group Theory following this book, this reviewer’s only desideratum concerns the choice of parameters: It would have been easier to consider certain variables as “global for this section in the book” instead of passing them to all functions by “call-by-reference”. But this is bordering on paranoia and cannot distract from the overall excellence of this work.
This handbook will be an indispensable tool for any researcher who uses (even without designing algorithms herself) computation in algebra. No household should be without a copy.

MSC:

20-04 Software, source code, etc. for problems pertaining to group theory
20-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to group theory
68W30 Symbolic computation and algebraic computation
20B40 Computational methods (permutation groups) (MSC2010)
20C40 Computational methods (representations of groups) (MSC2010)
20F05 Generators, relations, and presentations of groups
20F10 Word problems, other decision problems, connections with logic and automata (group-theoretic aspects)
68Q42 Grammars and rewriting systems
68Q70 Algebraic theory of languages and automata

Software:

Magma; GAP