"Source: Text/Group/GrpMatFF.text";
"Line: 1840";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpMatFF.text, line: 1840
// Example: H67E11 ()
print "Example: H67E11";
ei := GetEchoInput();
SetEchoInput(true);
E := ClassicalStandardGenerators ("SL", 6, 5^3);
E;
G := SL (6, 5^3);
f, S, W := ClassicalConstructiveRecognition (G);
f;
assert $1;
CB := ClassicalChangeOfBasis (G);
E^CB eq S;
assert $1;
S eq Evaluate (W, [G.i: i in [1..Ngens (G)]]);
assert $1;
g := Random (G);
f, w := ClassicalRewriteNatural ("SL", CB, g);
Evaluate (w, S) eq g;
assert $1;

P, R := ClassicalStandardPresentation ("SL", 6, 5^3);
Set (Evaluate (R, S));
G := RandomConjugate (Sp(10, 3^6));
f, S, W := ClassicalConstructiveRecognition (G);
f;
assert $1;
S eq Evaluate (W, [G.i: i in [1..Ngens (G)]]);
assert $1;
g := Random (G);
CB := ClassicalChangeOfBasis (G);
f, w := ClassicalRewriteNatural ("Sp", CB, g);
Evaluate (w, S) eq g;
assert $1;

P, R := ClassicalStandardPresentation ("Sp", 10, 3^6);
Set (Evaluate (R, S));
G := RandomConjugate (OmegaMinus (16, 2^6));
f, S, W := ClassicalConstructiveRecognition (G);
f;
assert $1;
g := Random (G);
CB := ClassicalChangeOfBasis (G);
f, w := ClassicalRewriteNatural ("Omega-", CB, g);
Evaluate (w, S) eq g;
assert $1;
gens := [ExteriorSquare (x) : x in ClassicalStandardGenerators ("Sp", 6, 25)]; 
G := sub<Universe (gens) | gens>;
x := Random (G); 
f, w := ClassicalRewrite (G, gens, "Sp", 6, 25, x);
f;
assert $1;
Evaluate (w, gens) eq x;
assert $1;
f, w := ClassicalRewrite (G, gens, "Sp", 6, 25, x : Method := "BB");
f;          
assert $1;
Evaluate (w, gens) eq x;
assert $1;
SetEchoInput(ei);
