"Source: Text/Lat/Lat.text";
"Line: 6240";
"Date: Fri Sep 26 12:10:10 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Lat/Lat.text, line: 6240
// Example: H31E25 ()
print "Example: H31E25";
ei := GetEchoInput();
SetEchoInput(true);
G := SU(3, 3); 
chi := CharacterTable(G)[2];
M := GModule(chi,Integers());
E := EndomorphismAlgebra (M);
while true do 
    r := &+[Random([-2..2])*E.i : i in [1..4]];
    if r^2 eq -1 then break; end if;
end while;
while true do
    s := &+[Random([-2..2])*E.i : i in [1..4]];
    if s^2 eq -3 and r*s eq -s*r then break; end if;
end while;
MM := QuaternionicGModule(M, r, s);
Discriminant(BaseRing(MM));
assert $1 eq 3;
MG := MatrixGroup(MM);
IF := InvariantForms(MG); IF;
assert IsIsomorphic(G, MG);
SetEchoInput(ei);
