Oh, right! Thanks a lot for your help. Nikos
On Wed, Aug 2, 2017 at 4:02 PM Erik Postma <e.j.postma+...@gmail.com> wrote: > Every time you call F, you get a new free product independent of previous > calls. So when you ask if G(3)[2] in G(3), there are two different copies > of F(3) in play, and similar for G(3)[2] in F(3). However, if you do: > > F3 := F(3); > G3 := GeneratorsOfGroup(F3); > G3[2] in G3; # true > G3[2] in F3; # true > > Erik. > > On 2 August 2017 at 15:50, Nikos Apostolakis <nikos...@gmail.com> wrote: > >> Dear Forum, >> >> I want to construct the free product of n copies of ZZ/2 and work with its >> elements. I get some strange behavior that I can't quite understand: >> >> F := n -> FreeProduct(List([1..n], i -> CyclicGroup(2))); #==> function( n >> ) ... end >> G := n -> GeneratorsOfGroup(F(n)); #==> function( n ) ... end >> G(3)[2] in G(3); #==> false >> G(3)[2] in F(3); #==> false >> >> However: >> >> GeneratorsOfGroup(F(3)); #==> [ f1, f2, f3 ] >> last[1]^2*last[2] = last[2]; #==> true >> >> which is what I would expect if GeneratorsOfGroup(F(3)) gives elements of >> the free product. >> >> I wonder if somebody could explain this behavior? Also how can I actually >> get what I want? >> >> Thanks a lot for any help, >> Nikos >> > _______________________________________________ >> Forum mailing list >> Forum@mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum