[GAP Forum] How can I get the elements of a free product?

Nikos Apostolakis nikos.ap at gmail.com
Wed Aug 2 21:57:58 BST 2017


Oh, right!  Thanks a lot for your help.

Nikos

On Wed, Aug 2, 2017 at 4:02 PM Erik Postma <e.j.postma+gap at 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.ap at 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 at mail.gap-system.org
>> http://mail.gap-system.org/mailman/listinfo/forum
>>
>
>


More information about the Forum mailing list