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.