Suppose I have two fields E1 and E2. If I tell MAGMA to do:
isom:=hom<E1->E2|b^7
where a,b are the multiplicative generators of E1 and E2 deprived of their zeroes respectively, what do I get? A group homomorphism or a field homomorphism? And if the former, how do I get a field homomorphism instead? Does the hom<|> function build a group hom if given groups and a field hom if given fields? And if so, what does this mean when it says:
Note that it is the responsibility of the user that the map defines a homomorphism.
Magma will simply use hom to give a mapping from E1 to E2 based on the generator images; not sure exactly how it gets all the images. There is no need to worry about how it gets them, assuming the map you give actually determines a homomorphism. It will be a field homomorphism if you give it fields.
However, Magma won't check that you have a homomorphism. And if it's not, who knows what sort of map you will get; Magma will use a mystery algorithm to assign images to all elements of the domain (for a field, ensuring 1->1) and you will just have a map (I tried making a hom from $\mathbb{F}_{9}$ to $\mathbb{F}_{3}$ by sending a generator of $\mathbb{F}_{9}$ to $1$; the map I got out preserved addition but not multiplication).