@@ -24,3 +24,52 @@ function(q)
2424 fi ;
2525 return Group(Concatenation(MTX.Generators(MM),[ S] ));
2626end );
27+
28+ # Construction of group as in Table 5.6 row 5 from [BHR13]
29+ BindGlobal(" u3qdim6" ,
30+ function (q )
31+ local A, G, M, MM, S, T, general, normaliser, w;
32+ general := ValueOption(" general" );
33+ if general = fail then
34+ general := false ;
35+ fi ;
36+ normaliser := ValueOption(" normaliser" );
37+ if normaliser = fail then
38+ normaliser := false ;
39+ fi ;
40+ Assert (1 ,IsOddInt(q));
41+ if normaliser then
42+ general := true ;
43+ fi ;
44+ w := PrimitiveElement(GF(q^ 2 ));
45+ # rewritten select statement
46+ if general then
47+ G := GU(3 ,q);
48+ else
49+ G := SU(3 ,q);
50+ fi ;
51+ M := GModuleByMats(GeneratorsOfGroup(G),GF(q^ 2 ));
52+ T := TensorProductGModule(M,M);
53+ MM := Filtered(MTX.CompositionFactors(T),c-> MTX.Dimension(c) = 6 )[ 1 ] ;
54+ # A := ActionGroup(MM); -> A is MTX.Generators(MM)
55+ # A := A^TransformForm(A); ??
56+ A := Group(MTX.Generators(MM));
57+ # change back fixed form into standard GAP form Antidiag(1, ..., 1)
58+ SetInvariantSesquilinearForm(A, rec (matrix := MTX.InvariantBilinearForm(A)));
59+ A := ConjugateToStandardForm(A, " U" );
60+ if not general then
61+ # S := ScalarMat(6,(w^(q-1))^(QuoInt((q+1),Gcd(6,q+1))));
62+ # return SubStructure(GL(6,q^2),A,#TODO CLOSURE
63+ # S);
64+ S := (w^ (q- 1 ))^ (QuoInt((q+ 1 ),Gcd(6 ,q+ 1 )))* IdentityMat(6 ,GF(q));
65+ elif not normaliser then
66+ # return SubStructure(GL(6,q^2),A,#TODO CLOSURE
67+ # ScalarMat(6,w^(q-1)));
68+ S := w^ (q- 1 )* IdentityMat(6 ,GF(q));
69+ else
70+ S := w* IdentityMat(6 ,GF(q));
71+ fi ;
72+ # return SubStructure(GL(6,q^2),A,#TODO CLOSURE
73+ # ScalarMat(6,w));
74+ return Group(GeneratorsOfGroup(A),[ S] );
75+ end );
0 commit comments