"Source: Text/Group/GrpMatGen.text";
"Line: 4962";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpMatGen.text, line: 4962
// Example: H66E29 ()
print "Example: H66E29";
ei := GetEchoInput();
SetEchoInput(true);
F3 := FiniteField(3);
P<x> := PolynomialRing(F3);
F9<w> := ext< F3 | x^2+x+2 >;
y := w^6;
z := w^2;
G := MatrixGroup<6, F9 | 
    [y, 1-y, z, 0,0,0, 1-y, z, -1,0,0,0, z, -1,1+y, 0,0,0, 
    0,0,0, z, 1+y, y, 0,0,0,1+y, y, -1, 0,0,0,y, -1,1-y],
    [1+y, z, y, 0,0,0, z, 1+y, z, 0,0,0, y, z, 1+y, 0,0,0,
    z,0,0,1-y, y, z, 0, z, 0, y, 1-y, y, 0,0, z, z, y, 1-y],
    [0,0,0,y, 0,0, 0,0,0,0,y, 0, 0,0,0,0,0,y,
    y, 0,0,0,0,0, 0,y, 0,0,0,0, 0,0,y, 0,0,0]>;
[ Factorization(CharacteristicPolynomial(G.i)) : i in [1..3] ];
y := Eigenspace(G.2, -2);
y;
#Orbit(G, y);
assert $1 eq 280;
P := OrbitImage(G, y);
P;
Order(P);
assert $1 eq 604800;
CompositionFactors(P);
Order(G);
assert $1 eq 1209600;
SetEchoInput(ei);
