# [GAP Forum] Re: Monoid homomorphsim

Alexander Hulpke hulpke at math.colostate.edu
Tue Jan 27 21:56:39 GMT 2004

```Jose Morais asked:

I have the following monoid:

[...]
F:=FreeMonoid(List([1..Length(GeneratorsOfMonoid(G))],
i->Concatenation("x",String(i))));

gaph:=NaturalHomomorphismByGenerators(F,G);;
gapih:=InverseGeneralMapping(h);;
gapIsInjective(ih);
true

gapImage(ih, Elements(G)[2]);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound

(I would use `PreImagesRepresentative(h,Elements(G)[2])' in such a
situation, but this does not remove the underlying problem.)

A ``no method found'' error message usually means that some calculation is
attempted that per se makes sense (or might make sense) but so far GAP has
no method  to actually perform this calculation.

There is no method installed to compute images under a
map from a transformation monoid to another monoid. (This would require
some method for decomposition into generators, which is not implemented.)

The map from the free monoid  on the other hand can perform such a
decomposition, as the elements are already given as words.

Can you tell me what is wrong with this and how can I compute de image of an element of G
through ih?

You basically will have to write a method that decomposes elements. (If you
want, once you have code that does such a decomposition, send me a private
email and I will help you with integrating it as a proper method for
monoid homomorphisms.

Best wishes,

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

```