Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 1.63 KB

README.rst

File metadata and controls

56 lines (42 loc) · 1.63 KB

Low Index Subgroups

The low_index project provides a Python module which implements a variant of Charles Sims' Low Index Subgroups algorithm for enumerating all of the conjugacy classes of subgroups of a finitely presented group with finite index less than a given bound.

The package is available on pypi, so the simplest way to install it for Python versions 3.6 - 3.11 is to use pip:

pip3 install low-index

Here is a sample computation:

>>> from low_index import *
>>>  # Conjugacy classes of subgroups of F_3 with index at most 4:
>>> reps = permutation_reps(rank = 3, short_relators = [], long_relators = [], max_degree = 4)
>>> len(reps)
653
>>> from snappy import *
>>> G = Manifold('K11n34').fundamental_group(); G
Generators:
   a,b,c
Relators:
   aaBcbbcAc
   aacAbCBBaCAAbbcBc
>>> # Degree at most 7 covers of the exterior of the Conway knot:
>>> reps = permutation_reps(G.num_generators(), G.relators()[:1], G.relators()[1:], 7)
>>> len(reps)
52
>>> reps[25]
[[1, 0, 3, 2, 5, 6, 4], [1, 4, 0, 6, 2, 5, 3], [3, 0, 2, 6, 4, 1, 5]]

Credits

Primarily developed by Marc Culler, Nathan Dunfield, and Matthias Goerner

License

Copyright 2022 by Marc Culler, Nathan Dunfield, Matthias Goerner and others.

This code is released under the GNU General Public License, version 2 or (at your option) any later version as published by the Free Software Foundation.