[GAP Forum] automorphisms of the group of unitriangular matrices
over finite fields
Bettina Eick
beick at tu-bs.de
Tue May 16 09:01:22 BST 2006
Dear Ayan,
enclosed below is an example for an example computation with a unitriangular
group using the Polycyclic package. Note that you need to read the function
included below into GAP to run the example.
# the unitriangular matrices in GL(4,3);
gap> G := UnitriangularPcpGroup(4,3);
Pcp-group with orders [ 3, 3, 3, 3, 3, 3 ]
# generators corresponding to the second diagonal
gap> g := Igs(G){[1..3]};
[ g1, g2, g3 ]
# an example mapping
gap> map := GroupGeneralMappingByImages(G,G,g,[g[1]*g[2], g[2],g[3]]);
[ g1, g2, g3, g4, g5, g6 ] -> [ g1*g2, g2, g3, g4, g5, g6 ]
gap> IsPcpGroupHomomorphism(map);
false
# another example mapping
gap> map := GroupGeneralMappingByImages(G,G,g,[g[1]*Igs(G)[6], g[2],g[3]]);
[ g1, g2, g3, g4, g5, g6 ] -> [ g1*g6, g2, g3, g4, g5, g6 ]
gap> IsPcpGroupHomomorphism(map);
true
Please contact me directly (or send and e-mail to gap-support) if there
are any problems with this approach.
Best wishes,
Bettina
#############################################################################
##
#M IsPcpGroupHomomorphism( map )
##
IsPcpGroupHomomorphism := function( map )
local gens, imgs, rels, i, a, b, j;
gens := MappingGeneratorsImages( map )[1];
imgs := MappingGeneratorsImages( map )[2];
rels := List( gens, x -> RelativeOrderPcp( x ) );
# check relators
for i in [1..Length( gens )] do
if rels[i] > 0 then
a := MappedVector(ExponentsByIgs(gens, gens[i]^rels[i]), imgs);
b := imgs[i]^rels[i];
if a <> b then return false; fi;
fi;
for j in [1..i-1] do
a := MappedVector(ExponentsByIgs(gens, gens[i]^gens[j]), imgs);
b := imgs[i] ^ imgs[j];
if a <> b then return false; fi;
od;
od;
return true;
end;
More information about the Forum
mailing list