On Sat, Feb 3, 2024 at 1:13 PM 'Ruchit Jagodara' via sage-devel <
sage-devel@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+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
> <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/CAEQuuAWr2hwKtqcZP%3DBiE-5j7RFmxfLLX8X4ZQUYqLxTs_bhXg%40mail.gmail.com.

Reply via email to