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-devel@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+unsubscr...@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/CAChs6_%3DrgWu1pRuL0f45st1TG-An%2B5-HcevouL049jkTw0C26A%40mail.gmail.com.

Reply via email to