ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 24 Oct 2013 23:18:06 +0200Cosets Generated by Product of Generatorshttps://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/I have created the following group:
sage: F.<x,y> = FreeGroup()
sage: G = F / [x^3, y^2, (x*y)^5]
sage: G
Finitely presented group < x, y | x^3, y^2, (x*y)^5 >
I would like to list the distinct cosets generated by <x*y>. I think there should be 12, but I have tried different code with no luck.Tue, 22 Oct 2013 22:42:04 +0200https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/Answer by vdelecroix for <p>I have created the following group:</p>
<pre><code>sage: F.<x,y> = FreeGroup()
sage: G = F / [x^3, y^2, (x*y)^5]
sage: G
Finitely presented group < x, y | x^3, y^2, (x*y)^5 >
</code></pre>
<p>I would like to list the distinct cosets generated by <x*y>. I think there should be 12, but I have tried different code with no luck.</p>
https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?answer=15603#post-id-15603Try
sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: xx = G(x)
sage: yy = G(y)
sage: (xx*yy)^5 == G.one()
True
sage: (xx*yy) == G.one()
False
Now knowing that (x*y) is not the identity in the quotient and that its order divides 5 you have no choice.
note: your group G is isomorphic to A5 by sending x to (1,2)(3,4) and y to (1,3,5).
*edit:*
To actually get the coset one can use the functionalities of GAP
sage: U = G.subgroup([G(x*y)])
sage: for rc in G.gap().RightCosets(U.gap()): print rc
RightCoset(Group( [ x*y ] ),<identity ...>)
RightCoset(Group( [ x*y ] ),x)
RightCoset(Group( [ x*y ] ),y)
RightCoset(Group( [ x*y ] ),y*x)
RightCoset(Group( [ x*y ] ),y*x*y)
RightCoset(Group( [ x*y ] ),(y*x)^2)
RightCoset(Group( [ x*y ] ),y*x*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2*x)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2*x)Thu, 24 Oct 2013 19:43:21 +0200https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?answer=15603#post-id-15603Comment by LearningSAGE for <p>Try</p>
<pre><code>sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: xx = G(x)
sage: yy = G(y)
sage: (xx*yy)^5 == G.one()
True
sage: (xx*yy) == G.one()
False
</code></pre>
<p>Now knowing that (x*y) is not the identity in the quotient and that its order divides 5 you have no choice.</p>
<p>note: your group G is isomorphic to A5 by sending x to (1,2)(3,4) and y to (1,3,5).</p>
<p><em>edit:</em>
To actually get the coset one can use the functionalities of GAP</p>
<pre><code>sage: U = G.subgroup([G(x*y)])
sage: for rc in G.gap().RightCosets(U.gap()): print rc
RightCoset(Group( [ x*y ] ),<identity ...>)
RightCoset(Group( [ x*y ] ),x)
RightCoset(Group( [ x*y ] ),y)
RightCoset(Group( [ x*y ] ),y*x)
RightCoset(Group( [ x*y ] ),y*x*y)
RightCoset(Group( [ x*y ] ),(y*x)^2)
RightCoset(Group( [ x*y ] ),y*x*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2*x)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2*x)
</code></pre>
https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16864#post-id-16864Thank you for taking a look at this...I do see that the group is isomorphic to A5, but I was hoping that sage could actually give me a list of representatives from the 12 cosets generated by xy. What I mean is...is there a way to give me the list: x<xy>, y<xy>, yx^2y<xy>, and so on?Thu, 24 Oct 2013 22:07:23 +0200https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16864#post-id-16864Comment by LearningSAGE for <p>Try</p>
<pre><code>sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: xx = G(x)
sage: yy = G(y)
sage: (xx*yy)^5 == G.one()
True
sage: (xx*yy) == G.one()
False
</code></pre>
<p>Now knowing that (x*y) is not the identity in the quotient and that its order divides 5 you have no choice.</p>
<p>note: your group G is isomorphic to A5 by sending x to (1,2)(3,4) and y to (1,3,5).</p>
<p><em>edit:</em>
To actually get the coset one can use the functionalities of GAP</p>
<pre><code>sage: U = G.subgroup([G(x*y)])
sage: for rc in G.gap().RightCosets(U.gap()): print rc
RightCoset(Group( [ x*y ] ),<identity ...>)
RightCoset(Group( [ x*y ] ),x)
RightCoset(Group( [ x*y ] ),y)
RightCoset(Group( [ x*y ] ),y*x)
RightCoset(Group( [ x*y ] ),y*x*y)
RightCoset(Group( [ x*y ] ),(y*x)^2)
RightCoset(Group( [ x*y ] ),y*x*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2*x)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2*x)
</code></pre>
https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16863#post-id-16863It makes sense for me to show you what code I thought would work maybe you can tell me what I am doing wrong. After implementing the code you gave me above, I used the following:
xy=G(x)*G(y)
P = G.subgroup([xy])
G.cosets(P, side='left')Thu, 24 Oct 2013 22:40:09 +0200https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16863#post-id-16863Comment by vdelecroix for <p>Try</p>
<pre><code>sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: xx = G(x)
sage: yy = G(y)
sage: (xx*yy)^5 == G.one()
True
sage: (xx*yy) == G.one()
False
</code></pre>
<p>Now knowing that (x*y) is not the identity in the quotient and that its order divides 5 you have no choice.</p>
<p>note: your group G is isomorphic to A5 by sending x to (1,2)(3,4) and y to (1,3,5).</p>
<p><em>edit:</em>
To actually get the coset one can use the functionalities of GAP</p>
<pre><code>sage: U = G.subgroup([G(x*y)])
sage: for rc in G.gap().RightCosets(U.gap()): print rc
RightCoset(Group( [ x*y ] ),<identity ...>)
RightCoset(Group( [ x*y ] ),x)
RightCoset(Group( [ x*y ] ),y)
RightCoset(Group( [ x*y ] ),y*x)
RightCoset(Group( [ x*y ] ),y*x*y)
RightCoset(Group( [ x*y ] ),(y*x)^2)
RightCoset(Group( [ x*y ] ),y*x*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2)
RightCoset(Group( [ x*y ] ),(y*x)^2*y^2*x)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2)
RightCoset(Group( [ x*y ] ),y*x*(y*x*y)^2*x)
</code></pre>
https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16862#post-id-16862The method "cosets" simply does not exist... Most computation with groups (especially permutation groups and finitely presented groups) are done with GAP but not all functionalities are accessible through Sage. So you need to learn a bit of GAP.Thu, 24 Oct 2013 23:18:06 +0200https://ask.sagemath.org/question/10645/cosets-generated-by-product-of-generators/?comment=16862#post-id-16862