Okay, then I will leave it as it is. thanks : ) On Sunday, February 4, 2024 at 2:24:26 AM UTC+5:30 Dima Pasechnik wrote:
> GAP has a function, FactorCosetAction(), for action on cosets of a > subgroup. I don't think there is a need to implement anything of this > sort directly, and not use it via libgap. > > https://docs.gap-system.org/doc/ref/chap41.html#X7FED50ED7ACA5FB2 > > > > On 3 February 2024 19:50:55 GMT, 'Ruchit Jagodara' via sage-devel < > sage-...@googlegroups.com> wrote: > >> Okay , thank you for your help ! : ) >> >> On Saturday, February 3, 2024 at 11:59:31 PM UTC+5:30 David Joyner wrote: >> >>> On Sat, Feb 3, 2024 at 1:13 PM 'Ruchit Jagodara' via sage-devel < >>> sage-...@googlegroups.com> wrote: >>> >>>> 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. >>>> >>> >>> The function quotient in the PermutationGroups class is >>> returning another instance of that class. What you want is in a different >>> Python class. Instead of "fixing" the quotient function, you can simply >>> implement another quotient function, call it quotient_to_cosets or >>> something like that. >>> >>> >>> >>>> 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+...@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 >>>> >>>> <https://groups.google.com/d/msgid/sage-devel/41e28657-e22b-4cdc-846b-87cf6c4870d8n%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/535981f1-eba8-470e-b2c4-77dca8971235n%40googlegroups.com.