Prerequisites:
The course requires the knowledge of basic group theory (groups, normal subgroups etc.) and is intended for master students.
Nonetheless, students of earlier years who are keen on programming and can work independently are encouraged to apply.
Date and time
University of Heidelberg; Building INF 205
-
Lectures: Tuesday & Thursday; 11:15, SR2 (Seminar room 2, 2nd floor)
-
Exercise sessions: Wednesday 14:00, SR2 (Seminar room 2, 2nd floor)
If you are interested please sign through
Müsli and let me know via email!
Topics covered:
- Group actions, orbits, stabilizers, Schreier vectors
- Permutation groups, bases, Stabilizer chains, Schreier-Sims algorithm.
- Broad overview of transitive groups, primitive groups
- Finitely presented groups, their homomorphisms, quotients
- Subgroups and their presentations
- Formal languages, and rewriting systems
- Knuth-Bendix completion
- Automata
- Coset enumeration
Literature
- Alexander Hulpke, Notes on Computaional Group Theory, 2010, available
here.
- Derek F. Holt, Bettina Eick, and Eamonn A. O’Brien, Handbook of Computational Group Theory, Discrete Mathematics and its Applications, Chapman & Hall/CRC, 2005
- Akos Seress, Permutation group algorithms, Cambridge University Press, 2003
- Charles C. Sims, Computation with finitely presented groups, Cambridge University Press, 1994.
Materials
-
Basics – a gentle introduction to programming in julia.
-
Orbits and Permutations – we’re implementing our first group element – permutation.
-
Transversals and Schreier Vectors – we learn how to compute coset representatives and then how to compress this information.
-
The Schreier-Sims algorithm – we’re discussing an implementation of the Schreier-Sims algorithm and troubles to make it generic enough.
-
Implementing Groups – we finally wrap what we have learned so far into a
PermutationGroup
structure, learning about lazy evaluation, locks, thread-safety, etc.
-
Alphabets and Words – starting with the basic building blocks for finitely presented groups
-
First take on rewriting – a mutable take on rewriting and a bit about orderings
-
Knuth-Bendix completion – the first naive version of the completion procedure
-
Indexing Automata – an implementation of indexing automaton for rewriting systems.
Notes
-
What is CGT?
-
Permutations, Orbits and Transversals
-
Schreier-Sims algorithm
-
Backtrack search
-
Intransitive groups, imprimitive groups & classification
-
Finitely presented groups
-
Classical algorithms for fp groups
-
Orderings and rewriting
-
Knuth-Bendix completion
-
Rational languages and the Indexing Automaton