## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
Kalevi Suominen
@jksuom
One often speaks of Sylow p-subgroups for a particular prime.
will HallSubgroup( G, P ) usefull for sympy?
I don't know..
Mohit Gupta
@mohitacecode

One often speaks of Sylow p-subgroups for a particular prime.

Okay..

Should I leave it for now?
Kalevi Suominen
@jksuom
You could take a look at how Sylow subgroups are found in SymPy and then try to find an algorithm for Hall subgroups.
Mohit Gupta
@mohitacecode
Sure I will do it now.
Mohit Gupta
@mohitacecode
Please see it's not a fully detailed we can break this down but it need discussion
Hall_Subgroup(G,P):
1.) Check if every p in P is prime if not:
valueerror
2.) Check if order of G is divisible by every prime in P if not:
return trivial subgroup (only Identity Element)
3.) Compute sylow p subgroup for every prime in P.
4.) Find the common of sylow p subgroups computed in above step.(since every sylow subgroup of a group is hallsubgroup)
Kalevi Suominen
@jksuom
Check if order of G is divisible by every prime in P
This is not necessary. The order of a Hall subgroup does not have to be divisible be p if the order of the group is not.
Find the common of sylow p subgroups
A Hall subgroup must contain a Sylow p-group for each p in P.
Kalevi Suominen
@jksuom
Finding a Hall subgroup for several primes is probably harder than finding a Sylow subgroup.
Mohit Gupta
@mohitacecode

This is not necessary. The order of a Hall subgroup does not have to be divisible be p if the order of the group is not.

can you explain please? beacuse to contain a subgroup for any prime the order of the group should be divisible by it sylow p subgroup also uses it.

suppose P = [2,3] should'nt be hall subgroup be intersection of sylow 2 subgroup and sylow 3 subgroup for any group G.just clarifying .
Kalevi Suominen
@jksuom
The intersection of a Sylow 2-group and 3-group is a subgroup of both of them. The order of a subgroup of a 2-group is a power of 2 and that of a 3-group is a power of 3. The only subgroup whose order is both a power of 2 and a power of 3 is the trivial group of order 1.
Mohit Gupta
@mohitacecode
okay now I understood
I just noticed Probably If H is already a Hall subgroup for a set of primes P then we can say that it is join of sylow p subgroup for p in P but it is not true vice versa. I have to think more for devising a algo.

suppose P = [2,3] should'nt be hall subgroup be intersection of sylow 2 subgroup and sylow 3 subgroup for any group G.just clarifying .

I was completely wrong

Mohit Gupta
@mohitacecode
any subgroup of index 2 is normal is the condition which we can used in is_normal method in perm_groups.py which will reduce further unnecessary steps. please see If I am saying anything wrong
Kalevi Suominen
@jksuom
Computation of the index will also take time. Besides, index 2 is probably rather uncommon.
Mohit Gupta
@mohitacecode
computatation of index requires to compute degree maybe it is much efficient than going for computing further steps.
Mohit Gupta
@mohitacecode
Besides, index 2 is probably rather uncommon.
So should I leave it ?
Kalevi Suominen
@jksuom
Perhaps you could check how adding that test would affect the average time spent in in_normal.
Mohit Gupta
@mohitacecode
I am elobarating few of the ideas that I mentioned previously:
• Extend functionalities of polycyclic groups
There are various things that can be implemented such as:
1.)canonical polycyclic sequence for subgroup.
The pseudocode or Implementation of this algorithm is given in handbook and this is usefull in checking whether two subgroups of polycyclic presented group G are equal since every subgroup has unique canonical polycyclic sequence.This will be use as a helper method for the below method.
2.)check if two subgroups of a polycyclic presented groups are equal or not.
3.)polycyclic orbit-stabilizer algorithm:
This algorithm is also given in the handbook with detailed implementation.
4.)numerator pcgs
5.)denominator pcgs
both numerator and denominator pcgs I have taken reference from the gap(https://www.biu.ac.il/os_site/documentation/gap4r1/ref/CHAP040.htm#SECT011) 40.9
Mohit Gupta
@mohitacecode
• Quotient groups
As you have asked for what kind of groups I think for Finitely presented group (Fp group) In the chapter 9 of the handbook various algorithms are described which can be usefull.
some algorithms such as epimorphism can also be used for computing automorphism group.
I am still working for more descriptive description (As I am still reading the book) And btw I am thinking to start working on canonical polycyclic sequence.
Mohit Gupta
@mohitacecode
Addition of method to compute homomorphism from one polycyclic group G to another polycyclic group H would be usefull?
for a reference gap has a method for it where gens is the list of generators of G and imgs are the list of images of elements of H.
GroupHomomorphismByImages(G, H, gens, imgs)
Kalevi Suominen
@jksuom
I think that something like that has already been implemented.
Mohit Gupta
@mohitacecode
just asking will that work for polycyclic group? beacuse the method we have now is checking whether the group G and H are PermutationGroup, FpGroup, FreeGroup
    if not isinstance(domain, (PermutationGroup, FpGroup, FreeGroup)):
raise TypeError("The domain must be a group")
if not isinstance(codomain, (PermutationGroup, FpGroup, FreeGroup)):
raise TypeError("The codomain must be a group")
Kalevi Suominen
@jksuom
Polycyclic groups are actually special fp-groups. They are formed from a free group by relators that are called pc_presentation.
Mohit Gupta
@mohitacecode
Okay understood will try to use it with polycyclic group
Mohit Gupta
@mohitacecode
Can you please tell how should I use this method with polycyclic group?
Mohit Gupta
@mohitacecode
should I consider looking for monoids and semigroups as a one of usefull idea as it was also mentioned by gaurav(@gxyd ) in gsoc 2016 but was'nt completed due to time constarint.
Kalevi Suominen
@jksuom
Monoids are more difficult to handle than groups. I don't know of any algorithms for them.
Mohit Gupta
@mohitacecode
Okay thanks for you response I will consider these things if i add it in proposal.
Mohit Gupta
@mohitacecode
Till now socle of a primitive permutation group is not implemented which can be further extended in calculating a chief series for a permuation group.I am considering this for adding it in my proposal.
After doing some research I have find some implementation of pseudo code for them.
Kalevi Suominen
@jksuom
The socle is not implemented for any finite group. That would probably be a good addition but maybe not easy.
Mohit Gupta
@mohitacecode
Thanks for your valuable suggestion kalevi :)
Mohit Gupta
@mohitacecode
I looked at the algorithm describes to see the difficulty of algorithm I find many of the required sub function already implemented in sympy.I am majorly concerned about the step 10 of the algorithm.
Here is the algorithm (http://huonw.github.io/honours-thesis.pdf) page no. 22.
Mohit Gupta
@mohitacecode
However theres also a naive algorithm which is very easy to implement it is also described in the book as follows:
socle is generated by minimal normal subgroups, one approach to finding it would be enumerating the normal subgroups, recording those that are minimal and then taking the subgroup that they generate. This could be done by iterating over group elements z ∈ G and taking the normal closures ⟨z^G⟩: every minimal normal subgroup is sure to appear in this list
Kalevi Suominen
@jksuom
I wonder how that would work with a permutation group of order >= 10^6.
Mohit Gupta
@mohitacecode
can we do something like if the order of group is greater than certain no. then we can go for the former algorithm
or something like if the group is primitive then we can go for former one because the later algorithm doesnt take any advantage of the group being primitive
Mohit Gupta
@mohitacecode
Good morning , kalevi
Currently conjugacy classes of permutation group are calculated using naive algorithm It can be improved by using random method presented here Pg-94 in book Groups ’93 Galway/St Andrews (https://ru.b-ok2.org/dl/703924/e2e2ff).
do implementation look feasible to you?