So, why is the quotient function implemented in Sage is 
giving RegularActionHomomorphism of G/N ? Is there any particular reason 
for it?  Should I change it (because I found a FIXME note also, saying that 
gap has a better way to find quotient)? I am implementing some functions 
related to group theory, and I can work on this as well.
On Saturday, February 3, 2024 at 10:24:54 PM UTC+5:30 David Roe wrote:

> You can lift elements via the quotient map to get representatives of each 
> coset.  I'm not sure that this is wrapped in Sage, but using gap directly 
> you have:
>
> sage: Pgap = p._libgap_()
> sage: Ngap = N._libgap_()
> sage: phi = Pgap.NaturalHomomorphismByNormalSubgroup(Ngap); phi
> [ (2,3,4,5,6,7) ] -> [ f1^2 ]
> sage: PN = phi.ImagesSource() # the quotient as an isomorphic group
> sage: preimages_gens = [phi.PreImagesRepresentative(g) for g in 
> PN.GeneratorsOfGroup()]
> sage: preimages_gens
> [(2,4,6)(3,5,7)]
> sage: all_preimages = [phi.PreImagesRepresentative(g) for g in PN.List()]
> sage: all_preimages
> [(), (2,4,6)(3,5,7), (2,6,4)(3,7,5)]
>
> David
>
> On Sat, Feb 3, 2024 at 10:58 AM 'Ruchit Jagodara' via sage-devel <
> sage-...@googlegroups.com> wrote:
>
>> I think this is giving a group isomorphic to the actual quotient group 
>> but I need the actual quotient group. Therefor, I don't know how to find 
>> that exact group. Below is one example,
>>
>> sage: p = PermutationGroup([(2,3,4,5,6,7)])
>> sage: N = p.minimal_normal_subgroups()[0]
>> sage: N
>> Subgroup generated by [(2,5)(3,6)(4,7)] of (Permutation Group with 
>> generators [(2,3,4,5,6,7)])
>> sage: N.list()
>> [(), (2,5)(3,6)(4,7)]
>> sage: p.quotient(N)
>> Permutation Group with generators [(1,2,3)]
>> sage: _.list()
>> [(), (1,2,3), (1,3,2)]
>>
>> If this is the collection of representative elements(for cosets) then 
>> ``1`` should not be in any of the permutations.
>>
>> I need a quotient group structure whose elements(the cosets) have the 
>> representative element (from the original group) and the normal subgroup 
>> (which was used to create the quotient group) as their properties or 
>> available in some other form.
>> On Friday, January 19, 2024 at 10:33:21 PM UTC+5:30 Dima Pasechnik wrote:
>>
>>>
>>>
>>> On 19 January 2024 15:18:45 GMT, 'Ruchit Jagodara' via sage-devel <
>>> sage-...@googlegroups.com> wrote: 
>>> >In case my questions have caused any confusion, I am rephrasing them as 
>>> >below. 
>>> > 
>>> >I have a group G and its minimal normal subgroup N. 
>>> > 
>>> >I want to find G/N. Do you know how I can do that? (I also want G/N to 
>>> be 
>>> >an object of the same class as G.) 
>>>
>>> It's G.quotient(N), no? 
>>>
>>> > 
>>> >My another question is: How can I find the group operation of a group 
>>> G? 
>>> >On Thursday, January 18, 2024 at 7:13:50 PM UTC+5:30 Dima Pasechnik 
>>> wrote: 
>>> > 
>>> >> On Thu, Jan 18, 2024 at 11:39 AM 'Ruchit Jagodara' via sage-devel 
>>> >> <sage-...@googlegroups.com> wrote: 
>>> >> > 
>>> >> > Actually, that won't work according to the implementation. 
>>> >> 
>>> >> sorry, I don't understand what won't work. 
>>> >> Did you mean to ask a different question? 
>>> >> 
>>> >> > Can you please take a look at the code I wrote (although I have not 
>>> >> written it according to codestyle of sage, yet. But I will do that 
>>> when the 
>>> >> code starts working.), where minimum_generating_set is the main 
>>> function? 
>>> >> > 
>>> >> > Link- 
>>> >> 
>>> https://github.com/RuchitJagodara/sage/blob/8b642329b6d579c536511d5f1d1511fb842c9c54/src/sage/groups/libgap_wrapper.pyx#L405C1-L513C1
>>>  
>>> >> > 
>>> >> > I have implemented this code according to the research paper. 
>>> >> 
>>> >> Sorry, what paper are you talking about? 
>>> >> 
>>> >> 
>>> >> > The algorithm can find the minimum generating set in polynomial 
>>> time, 
>>> >> which is very cool! So, I thought it would be good to implement this 
>>> in 
>>> >> Sage, especially since the paper has been recently published. 
>>> >> > 
>>> >> > I've almost completed the code, but I'm unsure about how to find 
>>> the 
>>> >> Quotient group and its representative elements. I need help with 
>>> this. 
>>> >> > 
>>> >> > I've outlined my doubts in the code, which you can see in the 
>>> following 
>>> >> link:- 
>>> >> > 
>>> >> > 
>>> >> 
>>> https://github.com/RuchitJagodara/sage/blob/8b642329b6d579c536511d5f1d1511fb842c9c54/src/sage/groups/libgap_wrapper.pyx#L478-L486
>>>  
>>> >> > 
>>> >> > GAP has a function named RightCosets that can be used to form a 
>>> quotient 
>>> >> group, but there is a problem: how can I find representative elements 
>>> of 
>>> >> that group? Additionally, how can I create a Quotient group using 
>>> >> RightCosets in Sage, given that the algorithm uses a recursive call, 
>>> and 
>>> >> the quotient group must have the ParentLibGAP.minimum_generating_set 
>>> >> function? 
>>> >> > On Wednesday, January 17, 2024 at 2:35:55 PM UTC+5:30 Dima 
>>> Pasechnik 
>>> >> wrote: 
>>> >> >> 
>>> >> >> Functions such as Group(), PermutationGroup() take such lists as 
>>> inputs. 
>>> >> >> 
>>> >> >> 
>>> >> >> On 17 January 2024 06:35:07 GMT, 'Ruchit Jagodara' via sage-devel 
>>> < 
>>> >> sage-...@googlegroups.com> wrote: 
>>> >> >>> 
>>> >> >>> And to implement the function, I want a function that takes a 
>>> list of 
>>> >> generators and returns a group. Does anyone know of any function that 
>>> can 
>>> >> do this? 
>>> >> >>> On Friday, January 12, 2024 at 8:38:18 PM UTC+5:30 Ruchit 
>>> Jagodara 
>>> >> wrote: 
>>> >> >>>> 
>>> >> >>>> I am implementing the minimum_generating_set function in Sage, 
>>> but I 
>>> >> am facing some issues, such as where I should implement that function 
>>> as my 
>>> >> implementation uses some gap methods. And I found one class 
>>> ParentLibGAP 
>>> >> which can be used for this but I am not sure because I found that 
>>> >> PermutationGroup class is not derived from this class so if I 
>>> implement 
>>> >> this function here then function will not be available for this group 
>>> (And 
>>> >> I don't know if there are many more), plus I have to use some 
>>> functions of 
>>> >> GroupMixinLibGAP class, so can you please suggest me a location or 
>>> any fix 
>>> >> for this. 
>>> >> > 
>>> >> > -- 
>>> >> > You received this message because you are subscribed to the Google 
>>> >> Groups "sage-devel" group. 
>>> >> > To unsubscribe from this group and stop receiving emails from it, 
>>> send 
>>> >> an email to sage-devel+...@googlegroups.com. 
>>> >> > To view this discussion on the web visit 
>>> >> 
>>> https://groups.google.com/d/msgid/sage-devel/db166267-6491-42e3-bc58-01ea447a5c9bn%40googlegroups.com
>>>  
>>> >> . 
>>> >> 
>>> > 
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sage-devel+...@googlegroups.com.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sage-devel/2119b5d7-b98d-4edb-acb7-3e7704cbaffen%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sage-devel/2119b5d7-b98d-4edb-acb7-3e7704cbaffen%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/41e28657-e22b-4cdc-846b-87cf6c4870d8n%40googlegroups.com.

Reply via email to