Implementation of polycyclic groups in Sympy. A few methods of the pc-groups require similar implementation as that of the
PcGroup can be implemented as a child of the
FpGroup such that it will inherit the methods required.
- Computation of polycyclic series for a given
- Solving word problem for Polycyclic groups using collection algortihm.
- Implement a method to compute coset representatives of a given CosetTable.(Might be useful in the computation of polycyclic series). (Week-9)
- Elementatry methods like
- Computing the polycyclic series: As sugested by Valeriia and Kalevi in the gitter channel, the method to compute the polycyclic series would be, first we compute the derived series
G = G1, G2, ..., Gn = <identity>. Every quotient
Q_i = G_i/G_i+1is abelian so every subgroup of the quotient group is a normal subgroup. To compute the subnormal series, we randomly pick and element
e(Could be the generators as well) from
Q_iand quotient the group
Q_iwith the group generated by this element
e. This will be repeated recursively to obtain the cyclic subnormal series,
H1, H2, ..., Hn. Now, the pre-images(
H_kin the quotient map from
G_i -> G_i+1will be the subgroups of
G_i. Now, we lift it to the original group. So, the final cyclic subnormal series(polycyclic series) will be
G1 > ... > G_i > H*_1 >... H*_n > G_i+1 > ... > <identity>.
- Computing the abelian-subgroup-quotient (Auxilary method): The presentation of the quotient
G/His given by adding the generators of
Gto the relators of
H, they are defined on the same free-group.
- Computing Polycyclic generating sequence and relative orders: The polycyclic generating sequence can be obtained by chosing an element
G_i/G_i+1. And the relative order
r_iis written as
r_i = [G_i:G_i+1].
PcGroupclass is defined as a child of the
is_polycyclicis implemented to check if the given group is polycyclic.
- A method to compute the polycyclic series for a given group.
- A method to check if a given group is the subgroup of a parent group.(Uses the
PermutationGroupisomorphic to it).
- A few elementary methods are implemented as a part of the
PcGroupclass, which include
To be added after testing.
Here is the link to the PR ‘Add methods for Polycyclic Groups’. This is currently work in progress (as of 11tha July, 2018) and would be completed soon.
- Method to compute the coset representative for a given cosetTable.
- Implementation of the collectuion algorthim.
- Implement methods to compute the pc-presentation and the power realtions.
- To-Do: Add tests and documentation.
-  Derek F.Holt, Bettina Fick, Eamonn A.O’Brian. Handbook of Computational Group Theory.
-  Article on Polycyclic groups.
-  GAP - Polycyclic package.