9.13 Homomorphisms vs. General Mappings

In GAP 3 there had been a confusion between group homomorphisms and general mappings, as GroupHomomorphismByImages created only a general mapping that did not store whether it was a mapping. This caused expensive, unwanted, and unnecessary tests whether the mapping was in fact a group homomorphism. Moreover, the ``official'' workaround to set some components of the mapping record was quite unwieldy.

In GAP 4, GroupHomomorphismByImages checks whether the desired mapping is indeed a group homomorphism; if so then this property is stored in the returned mapping, otherwise fail is returned. If you want to avoid the checks then you can use GroupHomomorphismByImagesNC. If you want to check whether a general mapping that respects the group operations is really a group homomorphism, you can construct it via GroupGeneralMappingByImages and then call IsGroupHomomorphism for it. (Note that IsGroupHomomorphism returns true if and only if both IsGroupGeneralMapping and IsMapping do, so one does in fact check IsMapping in this case.)

There is no function IsHomomorphism in GAP 4, since there are several different operations with respect to which a mapping can be a homomorphism.

[Top] [Previous] [Up] [Next] [Index]

GAP 4 manual
February 2000