[Next] [Prev] [Right] [____] [Up] [Index] [Root]
Homomorphisms

Homomorphisms

Most of the mappings that are returned by Magma intrinsics or constructors (e.g. quo) are homomorphisms.

Homomorphisms can be defined by the user too, in a syntax similar to the map constructor syntax (see Maps). The hom constructor syntax is

hom< A -> B | IDENTIFIER :-> EXPRESSION >

or

hom< A -> B | G >

where G is a subgraph of A x B such that each generator of A appears exactly once.

For some structures A, the form

hom< A-> B | y1, y2, ..., yn >

is available, where the i-th y element is the image of the i-th generator A.i .

If the domain is a ring (including the case of a field) then only the unitary homomorphism can be constructed. The image 1 of 1 determines the whole homomorphism. In this case, the syntax is

hom< RING -> B | >

with nothing within the constructor after the | symbol.

For certain homomorphisms h, Image(h) and Kernel(h) are available. If preimages are available, then y@@h returns a single element of the preimage of y. The whole preimage would be K * y@@h (or K + y@@h), where K is the kernel.

For all of these forms of the hom constructor, it is the USER'S RESPONSIBILITY to ensure that the mapping so defined is a homomorphism.

Example

> PGL27<a, b> := ProjectiveGeneralLinearGroup(2, 7);      
> h := hom< PGL27 -> PGL27 | x :-> x^a >;
[Next] [Prev] [Right] [____] [Up] [Index] [Root]