The elements of a group of automorphisms are automorphisms of the base group, so Magma treats them as both homomorphisms and group elements. Thus they may be applied to elements and subgroups of the base group as a homomorphism, or they may be multiplied and have inverses taken as group elements. Of course, these last two operations are also homomorphism operations, being composition and the usual inverse of a bijection. Elements of a group of automorphisms are of type GrpAutoElt.
Let A be a group of automorphisms of a group G and let i be an integer such that -n ≤i ≤n, where n is the number of generators of A. This operator returns the i-th generator for A. A negative subscript indicates that the inverse of the generator is to be created. Finally, A.0 denotes the identity of A.
The identity element of the group of automorphisms A.
Let A be a group of automorphisms of a group G. Given an automorphism f of G, represented as a Magma map, this function returns the element of A corresponding to f. An error will result if f is not in the group generated by the generators of A. This uses the permutation representation of A to test for membership.
The order of the group automorphism f.
The product of the group automorphisms f and g. If f and g are regarded as maps, this function returns their composite: first apply f, then apply g.
The nth power of the group automorphism f. The integer n may be positive or negative.
The left-normed commutator of the group automorphisms g1, ..., gr. Each of g1, ..., gr must belong to a common automorphism group.
Given group automorphisms g and h belonging to the same automorphism group, return true if g and h are the same element, false otherwise.
Given group automorphisms g and h belonging to the same automorphism group, return false if g and h are the same element, true otherwise.
Returns true if the group automorphism f is an inner automorphism of the base group, false otherwise. If f is inner, then an element of the base group with conjugation action equal to the action of f is also returned.
> G := SmallGroup(81, 10); > G; GrpPC : G of order 81 = 3^4 PC-Relations: G.1^3 = G.4, G.2^3 = G.4^2, G.2^G.1 = G.2 * G.3, G.3^G.1 = G.3 * G.4 > A := AutomorphismGroup(G); > #A; 486 > Ngens(A); 5 > IsInner(A.3); false > Order(A.3); 3 > A.3; Automorphism of GrpPC : G of order 3 which maps: G.1 |--> G.1 G.2 |--> G.2 * G.4^2 G.3 |--> G.3 G.4 |--> G.4 > A.3*A.4; Automorphism of GrpPC : G which maps: G.1 |--> G.1 G.2 |--> G.2 * G.3 * G.4^2 G.3 |--> G.3 * G.4 G.4 |--> G.4 > (A.3*A.4)^3; Automorphism of GrpPC : G which maps: G.1 |--> G.1 G.2 |--> G.2 G.3 |--> G.3 G.4 |--> G.4 > $1 eq Id(A); true
> CharacteristicSubgroups := function(G) > local A, outers, NS, CS; > A := AutomorphismGroup(G); > outers := [ a : a in Generators(A) | not IsInner(a) ]; > NS := NormalSubgroups(G); > CS := [n : n in NS | forall{a: a in outers| a(n`subgroup) eq n`subgroup }]; > return CS; > end function; > > CS := CharacteristicSubgroups(DirectProduct(Alt(4),Alt(4))); > [c`order: c in CS]; [ 1, 16, 144 ] > G := SmallGroup(512,298); > #NormalSubgroups(G); 42 > #CharacteristicSubgroups(G); 28