"Source: Text/Group/GrpMatQZ.text";
"Line: 438";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpMatQZ.text, line: 438
// Example: H69E1 ()
print "Example: H69E1";
ei := GetEchoInput();
SetEchoInput(true);
G := MatrixGroup< 3, Integers() |
 [ 1, -1, 0, 0, -1, 0, 0, 0, 1 ],
 [ 1, -1, 0, 1, 0, 0, 0, 0, -1 ] >;
Z, T:= ZClasses(G);
#Z;
assert $1 eq 3;
< #t : t in T >;
Q := Rationals();
GQ := ChangeRing(G, Q);
Ids := CentralIdempotents(EndomorphismRing(GQ));
L := VerticalJoin([ Matrix(Integers(), T[2,2] * i) : i in Ids]);
Image(L) eq Image(Matrix(Integers(), T[2,1]));
assert $1;
TT := &cat T;
[ GQ eq ChangeRing(Z[i], Q)^(GL(3, Q) ! TT[i]) : i in [1..#Z] ];
SetEchoInput(ei);
