[GAP Forum] Elements in Wreath Products

Alexander Hulpke hulpke at math.colostate.edu
Mon Nov 16 17:00:27 GMT 2009



Dear GAP-forum, Dear Kursat Aker,

> Gi := Dihedral(8);
> n := 3;S_n := SymmetricGroup( n );
> G := WreathProduct( Gi, S_n );
> x := One(G);
> x![1] := 3;

This access to internal components, while not technically prohibited, is not advisable.
- The internal structures are not documented and not guaranteed to stay fixed between versions
- doing so is very representation dependent. If you use instead DihedralGroup(IsPermGroup,8) this kind of access will not work.
- Finally, modifying internal components of objects is likely to lead to the system to become seriously confused.
> 
> I don't know what ! means. Does this allow me to change an immutable object such
> as One(G) ?
Yes -- this access is apparently possible for these particular objects, but the existing code assumes that nothing like this would happen. Basically after such an assignment the group created is broken.

> Question (2):
> -------------
> 
> How can I create elements inside the wreath product ?

The proper way to create elements (independent of the representation) is to use homomorphisms: E.g. for elements a,b,c in D8 and d in Sn create the element
(a,b,c;d) in the wreath product use:

emb:=List([1..4],x->Embedding(G,x));;
Image(emb[1],a)*Image(emb[2],b)*Image(emb[3],c)*Image(emb[4],d);

You can similarly use these homomorphisms (and the one returned by Projection(G))
to decompose, using PreImagesRepresentative (after dividing off the S3-part).

Regards,

Alexander Hulpke




-- Colorado State University, Department of Mathematics,
Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
email: hulpke at math.colostate.edu, Phone: ++1-970-4914288
http://www.math.colostate.edu/~hulpke






More information about the Forum mailing list