Homomorphisms are an important part of group theory, and Magma
supports homomorphisms between groups. Many useful homomorphisms
are returned by constructors and intrinsic functions. Examples of these
are the `quo` constructor, the `sub` constructor and intrinsic
functions such as `OrbitAction` and `FPGroup`,
which are described in more detail elsewhere in this chapter. In this
section we describe how the user may create their own homomorphisms with
domain a matrix group.

Given the matrix group G, construct the homomorphism f : G to H given by the generator images in L. H must be a group. The clause L may be any one of the following types:Each image element specified by the list must belong to the

- A list of elements of H, giving images of the generators of G;
- A list of pairs, where the first in the pair is an element of G and the second its image in H;
- A sequence of elements of H, as in (a);
- A set or sequence of pairs, as in (b);

samegroup H. In the cases where pairs are given the given elements of G must generate G.

The domain of the homomorphism f.

The codomain of the homomorphism f.

The image or range of the homomorphism f. This will be a subgroup of the codomain of f. The algorithm computes the image and kernel simultaneously (see [CLG91]).

The kernel of the homomorphism f. This will be a normal subgroup of the domain of f. The algorithm computes the image and kernel simultaneously (see [CLG91]).

Return the value true if the sequence Q defines a homomorphism from the group G to the group H. The sequence Q must have lengthNgens(G)and must contain elements of H. The i-th element of Q is interpreted as the image of the i-th generator of G and the function decides if these images extend to a homomorphism. If so, the homomorphism is also returned.

> K<z> := CyclotomicField(20); > zz := RootOfUnity(10, K); > i := RootOfUnity(4, K); > cos := (zz+ComplexConjugate(zz))/2; > sin := (zz-ComplexConjugate(zz))/(2*i); > gl := GeneralLinearGroup(2, K); > M := sub< gl | [cos, sin, -sin, cos], [-1,0,0,1]>; > #M; 20 > S := SymmetricGroup(5); > f := hom<M->S |[S|(1,2,3,4,5), (1,5)(2,4)]>; > Codomain(f); Symmetric group S acting on a set of cardinality 5 Order = 120 = 2^3 * 3 * 5 > Image(f); Permutation group acting on a set of cardinality 5 Order = 10 = 2 * 5 (1, 2, 3, 4, 5) (1, 5)(2, 4) > Kernel(f); MatrixGroup(2, K) of order 2 Generators: [-1 0] [ 0 -1]

[Next][Prev] [Right] [Left] [Up] [Index] [Root]