"Source: Text/Group/GrpMatInf.text";
"Line: 1106";
"Date: Thu Apr  1 11:57:57 2021";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpMatInf.text, line: 1106
// Example: H68E10 ()
print "Example: H68E10";
ei := GetEchoInput();
SetEchoInput(true);
G := MatrixGroup<8, RationalField() |
    Matrix(RationalField(), 8, 8, [ -402, -128, 32, 24, -452, 798, -293,
    349, 3, 37, 20, -9, 5, -11, 29, 7, -67, 56, 5, -15, -105, 133, 21, 
    65, -114, 660, 80, -164, -325, 208, 528, 199, -2, 220, 0, -55, -90, 
    4, 199, 18,-213, 236, 16, -63, -359, 423, 121, 209, -36, 260, 0, 
    -65, -144, 72, 221, 57, 3, -228, 0, 57, 94, -6, -206, -20 ]),
    Matrix(RationalField(), 8, 8, [ -446, 1144, -64, -288, -1114, 910, 
    833, 407, -9, 37, -4, -9, -31, 19, 29, 7, -125, 155, -7, -39, -223, 
    252, 77, 113, -510, 428, -16, -106, -779, 1024, 104, 457, -108, 28, 
    0, -7, -134, 216, -35, 96, -407, 608, -32, -153, -781, 823, 347, 367, 
    -190, 92, 0, -23,  -254, 380, -23, 171, 159, 12, 0, -3, 176, -318, 
    98, -140 ]) >;

IsSolubleByFinite (G: NeedChangeOfBasis := true);
assert $1;
IsCompletelyReducible (G);
assert not $1;
I, CB := CompletelyReduciblePart (G);
"Completely reducible part ", I;
"Change-of-basis matrix is ", CB;

SetEchoInput(ei);
