Notes on Computational Group Theory (2010) [pdf]
math.colostate.edu
math.colostate.edu
Another book the HN crowd might like is Shoup's "a computational introduction to number theory and algebra"[0], it is much more broad and with litte focus on implementations, but a very interesting book nonetheless
Computational algebra more broadly however has many applications to cryptography for example
Nevertheless, CGT has numerous applications in a very wide area. I try to list a few below, consider them just samples, this is far from being comprehensive.
In pure mathematics CGT used as a kind of "experimental mathematics" tool. That is finding, enumerating, constructing certain (class of) mathematical objects.
* group theory (obviously)
* combinatorics
* graph theory
* design theory (combinatorial and statistical)
* finite projective geometries
* coding theory
* topology
* in general, where computing with automorphism group of the mathematical structure at hand may be of interest.
Theoretical computer science, in particular complexity theory. The main reason why computer scientist are interested in CGT is that the Graph Isomorphism problem is not known to be either in P or NP-complete and for a certain class of graphs the known polynomial graph-iso algorithm based on heavy CGT machinery.
Also many problems in CGT are undecidable, the best known ones are the word problem, the conjugacy problem and the isomorphism problem.
Here are some examples on the more applied side where CGT is heavily used.
* Statistics: the design of statistical experiences.
* Computational Chemistry
* Computational Biology (for example protein folding)
* Computational Pharmacology (Currently there is a trending news on HN about it titled "Virtual Pharmacology ...")
* Combinatorial Optimization
* Solving Constraint Satisfaction problems; the application of CGT here called "symmetry breaking".
* and as a further application of the two above: Robotics
* SAT/SMT solvers (came up here a few days ago)
* finding God's Number for the Rubik's cube is pure CGT
Finally, just to avoid the impression that CGT is so esoteric high level mathematics that it cannot be of interest for the working programmer. Any programmer who solved a combinatorial puzzle by finding all unique solutions but avoiding searching and listing the "basically same" ones more than once used and invented (!) a bit of CGT without noticing.