GAP contains very efficient algorithms for some special representations of groups (for example pc groups or permutation groups) while for other representations only slow generic methods are available. In this case it can be worthwhile to do all calculations rather in an isomorphic image of the group, which is in a ``better'' representation. The way to achieve this in GAP is via nice monomorphisms.
For this mechanism to work, of course there must be effective methods to
evaluate the NiceMonomorphism on elements and to take preimages under it.
As by definition no good algorithms exist for the source group,
normally this can only be achieved by using an ActionHomomorphism or a
GroupHomomorphismByFunction (see also
section Efficiency of Homomorphisms).
IsHandledByNiceMonomorphism( obj ) P
If this property is true, high-valued methods that translate all
calculations in obj in the image under the NiceMonomorphism become
available for obj.
NiceMonomorphism( obj ) A
is a homomorphism that is defined (at least) on the whole of obj and whose restriction to obj is injective. The concrete morphism (and also the image group) will depend on the representation of obj.
NiceObject( obj ) A
The NiceObject of obj is the image of obj under its
NiceMonomorphism.
A typical example are finite matrix groups, which use a faithful action on vectors to translate all calculations in a permutation group.
gap> gl:=GL(3,2); SL(3,2) gap> IsHandledByNiceMonomorphism(gl); true gap> NiceObject(gl); Group([ (5,7)(6,8), (2,3,5)(4,7,6) ]) gap> Image(NiceMonomorphism(gl),Z(2)*[[1,0,0],[0,1,1],[1,0,1]]); (2,6)(3,4,7,8)
IsCanonicalNiceMonomorphism( nhom ) P
A NiceMonomorphism nhom is canonical if the image set will only
depend on the set of group elements but not on the generating set and
< comparison of group elements translates through the nice
monomorphism. This
implies that equal objects will always have equal NiceObjects.
In some situations however this condition would be expensive to
achieve, therefore it is not guaranteed for every nice monomorphism.
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual