1 | initial version |
I do not know how to do it from Sage. But at least from GAP (wich is included in Sage and can be launched by the command "sage -gap") you can do
gap> F := FreeGroup(2);
<free group on the generators [ f1, f2 ]>
gap> gens := GeneratorsOfGroup(F);
[ f1, f2 ]
gap> f1 := gens[1];
f1
gap> f2 := gens[2];
f2
gap> G := F / [f1^3, f2^2, (f1*f2)^5];
<fp group on the generators [ f1, f2 ]>
gap> Size(G);
60
2 | answer from Sage |
I do not know how to do it from Sage. But at least from From SAGE
sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: G.cardinality()
60
From GAP (wich is included in Sage and (that can be launched by the command "sage -gap") you can do-gap")
gap> F := FreeGroup(2);
<free group on the generators [ f1, f2 ]>
gap> gens := GeneratorsOfGroup(F);
[ f1, f2 ]
gap> f1 := gens[1];
f1
gap> f2 := gens[2];
f2
gap> G := F / [f1^3, f2^2, (f1*f2)^5];
<fp group on the generators [ f1, f2 ]>
gap> Size(G);
60
3 | No.3 Revision |
From SAGETry
sage: F.<x,y> = FreeGroup()
sage: G = F / [x^2, y^3, (x*y)^5]
sage: G.cardinality()
60
xx = G(x)
sage: yy = G(y)
sage: (xx*yy)^5 == G.one()
True
From GAP (that can be launched by the command "sage -gap")
gap> F := FreeGroup(2);
<free group on the generators [ f1, f2 ]>
gap> gens := GeneratorsOfGroup(F);
[ f1, f2 ]
gap> f1 := gens[1];
f1
gap> f2 := gens[2];
f2
gap> G := F / [f1^3, f2^2, (f1*f2)^5];
<fp group on the generators [ f1, f2 ]>
gap> Size(G);
60
4 | No.4 Revision |
Try
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.
5 | No.5 Revision |
Try
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).
6 | No.6 Revision |
Try
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)