[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Construction of Elements

Construction of Elements

Subsections

Construction of an Element

Throughout this subsection we shall assume that the carrier set for the group G is a subset of the set S. Thus, if G is a permutation group on the set X, its carrier set will be a subset of Sym(X).

elt< G | L > : Grp, List(Elt) -> GrpElt
Given a group G whose elements are a subset of the set S, and a list L of objects a_1, a_2, ..., a_n defining an element of S, construct this element g of S. Then, the element g will be tested for membership of G, and if g is not an element of G, the function will fail. If g does lie in G, g will be returned with G as its parent.
G ! Q : Grp, [ Elt ] -> GrpElt
Given a group G whose elements are a subset of the set S, and a sequence Q=[ a_1, a_2, ..., a_n ] defining an element of S, construct this element g of S. Then, the element g will be tested for membership of G, and if g is not an element of G, the function will fail. If g does lie in G, g will be returned with G as its parent.
Identity(G) : Grp -> GrpElt
Id(G) : Grp -> GrpElt
Construct the identity element in the group G.

Coercion

G ! g : Grp, GrpElt -> GrpElt
Given a group G and an element g of H, where G and H are subgroups of some common over-group and g is contained in G, embed g in G. Thus this operator changes the parent of g into G.

Homomorphisms

hom< G -> H | L > : Grp, Grp -> Map
Return the group homomorphism phi : G -> H defined by extending the map of the generators of G, as given by the list L on the right side of the constructor. Suppose that the generators of G are g_1, ..., g_n, and that phi(g_i)=h_i for each i. Then L must be one of the following: For its computations, Magma often assumes that the mapping so defined is a homomorphism without attempting to verify this.
hom< G -> H | x : -> e(x) > : Grp, Grp -> Map
Return the group homomorphism phi : G -> H defined by the rule phi(x)=e(x), where x is a general element of G and e(x) is an expression in x. The symbol x may be any identifier name, and has local scope. For its computations, Magma assumes the expression defines a homomorphism, but does not verify this.
IdentityHomomorphism(G) : Grp -> Map
Return the identity homomorphism phi: G -> G: x |-> x.

Example Grp_Homomorphisms (H15E1)

> C15 := CyclicGroup(15);
> C15;             
Permutation group C15 acting on a set of cardinality 15
Order = 15 = 3 * 5
    (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
> A15 := AbelianGroup([15]);
> A15;
Abelian Group isomorphic to Z/15
Defined on 1 generator
Relations:
    15*A15.1 = 0
> iso11 := hom< C15 -> A15 | C15.1 -> 11*A15.1 >;
> A15 eq iso11(C15);                       
true
> forall{ <c, d> : c, d in C15 | iso11(c * d) eq iso11(c) * iso11(d) };
true
> C15 := CyclicGroup(15);
> h := hom< C15 -> C15 | g :-> g^3 >;
> forall{ <c, d> : c, d in C15 | h(c * d) eq h(c) * h(d) };
true
> im := h(C15);
> im;
Permutation group im acting on a set of cardinality 15
Order = 5
    (1, 4, 7, 10, 13)(2, 5, 8, 11, 14)(3, 6, 9, 12, 15)
> IsCyclic(im);
true

Arithmetic with Elements

g * h : GrpElt, GrpElt -> GrpElt
Product of element g and element h, where g and h belong to the same generic group U. If g and h both belong to the same proper subgroup G of U, then the result will be returned as an element of G; if g and h belong to subgroups H and K of a subgroup G of U, then the product is returned as an element of G. Otherwise, the product is returned as an element of U. The product in abelian groups is called the sum and is written g + h instead.
g ^ n : GrpElt, RngIntElt -> GrpElt
The n-th power of the group element g, where n is a positive, negative or zero integer. In abelian groups, this is written as a scalar product n * g instead.
g / h : GrpElt, GrpElt -> GrpElt
Product of the group element g by the inverse of the group element h, i.e., the element gh^(-1). Here g and h must belong to the same generic group U. The rules for determining the parent group of g / h are the same as for gh. In abelian groups, this is written additively as g - h.
g ^ h : GrpElt, GrpElt -> GrpElt
Conjugate of the group element g by the group element h, i.e., the element h^(-1)gh. Here g and h must belong to the same generic group U. The rules for determining the parent group of g^h are the same as for gh. In abelian groups, this operation does not exist.
(g, h) : GrpElt, GrpElt -> GrpElt
Commutator of the group elements g and h, i.e., the element g^(-1)h^(-1)gh. Here g and h must belong to the same generic group U. The rules for determining the parent group of (g, h) are the same as those for gh.
(g_1, ..., g_r) : GrpElt, ..., GrpElt -> GrpElt
Given r elements g_1, ..., g_r belonging to a common group, return their commutator. Commutators are left-normed, so they are evaluated from left to right.
g eq h : GrpElt, GrpElt -> BoolElt
Given elements g and h belonging to the same generic group, return true if g and h are the same element, false otherwise.
g ne h : GrpElt, GrpElt -> BoolElt
Given elements g and h belonging to the same generic group, return true if g and h are distinct elements, false otherwise.
IsId(g) : GrpElt -> BoolElt
IsIdentity(g) : GrpElt -> BoolElt
True if the group element g is the identity element.
Order(g) : GrpElt -> RngIntElt
The order of the group element g.

Example Grp_Arithmetic (H15E2)

> G := Sym(9);
> x := G ! (1,2,4)(5,6,8)(3,9,7);
> y := G ! (4,5,6)(7,9,8);
> x*y;
(1, 2, 5, 4)(3, 8, 6, 7)
> x^-1;
(1, 4, 2)(3, 7, 9)(5, 8, 6)
> x^2;
(1, 4, 2)(3, 7, 9)(5, 8, 6)
> x / y;
(1, 2, 6, 9, 8, 4)(3, 7)
> x^y;
(1, 2, 5)(3, 8, 9)(4, 7, 6)
> (x, y);
(1, 7, 3, 6)(4, 5, 9, 8)
> x^y eq y^x;
false
> CycleStructure(x^2*y);
[ <6, 1>, <2, 1>, <1, 1> ]
> Degree(y);
6
> Order(x^2*y);
6

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