"Source: Text/Group/GrpMatFF.text";
"Line: 1386";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpMatFF.text, line: 1386
// Example: H67E9 ()
print "Example: H67E9";
ei := GetEchoInput();
SetEchoInput(true);
G := GL(4, 5);
SearchForDecomposition (G, [G.1]);
M := GL (4, 7);
P := Sym (3);
G := WreathProduct (M, P);
SearchForDecomposition (G, [G.1, G.2]);
IsPrimitive (G);
assert not $1;
BlocksImage (G);
P := GL(6,3);
g1 := P![0,1,0,0,0,0,-1,0,0,0,0,0,
         0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1];
g2 := P![-1,0,0,0,1,0,0,-1,0,0,0,1,
         -1,0,0,0,0,0,0,-1,0,0,0,0,0,0,-1,0,0,0,0,0,0,-1,0,0];
g3 := P![1,0,0,0,0,0,0,-1,0,0,0,0,
         0,0,1,0,0,0,0,0,0,-1,0,0,0,0,0,0,1,0,0,0,0,0,0,-1];
G := sub <P | g1, g2, g3 >;
SearchForDecomposition (G, [g1]);
IsSemiLinear (G);
assert $1;
DegreeOfFieldExtension (G);
assert $1 eq 2;
CentralisingMatrix (G);
FrobeniusAutomorphisms (G);
F := GF(5);
G := GL(5, F);
H := GL(3, F);
P := GL(15, F);
A := MatrixAlgebra (F, 5);
B := MatrixAlgebra (F, 3);
g1 := A!G.1; g2 := A!G.2;  g3 := A!Identity(G);
h1 := B!H.1; h2 := B!H.2; h3 := B!Identity(H);
w := TensorProduct (g1, h3);
x := TensorProduct (g2, h3);
y := TensorProduct (g3, h1);
z := TensorProduct (g3, h2);
G := sub < P | w, x, y, z>;
SearchForDecomposition (G, [G.1, G.2]);
IsTensor (G);
assert $1;
TensorBasis (G);
M := GL (3, GF(2));
P := Sym (3);
G := TensorWreathProduct (M, P);
SearchForDecomposition (G, [G.1]);
IsTensorInduced (G);
assert $1;
TensorInducedPermutations (G);
F := GF(5);
P := GL(4,F);
g1 := P![ 1,0,0,0,0,4,0,0,2,0,2,3,3,0,4,3];
g2 := P![ 4,0,0,1,2,4,4,0,1,0,1,2,0,0,0,1];
g3 := P![ 4,0,1,1,0,1,0,0,0,1,3,4,0,4,3,2];
g4 := P![ 2,0,4,3,4,4,2,4,0,1,3,4,4,2,0,1];
g5 := P![ 1,1,3,4,0,0,3,4,2,0,0,4,3,1,3,4];
g6 := P![ 2,0,0,0,0,2,0,0,0,0,2,0,0,0,0,2];
G := sub < P | g1, g2, g3, g4, g5, g6 >;
SearchForDecomposition (G, [G.4]);
IsExtraSpecialNormaliser (G);
assert $1;
ExtraSpecialParameters (G);
g := G.1 * G.2;
ExtraSpecialAction(G, g);
SetEchoInput(ei);
