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