"Source: Text/RepThy/ModAlg.text";
"Line: 419";
"Date: Tue May 30 11:26:03 2023";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/RepThy/ModAlg.text, line: 419
// Example: H97E3 ()
print "Example: H97E3";
ei := GetEchoInput();
SetEchoInput(true);
MakeMod := function(A, G)
    // Make G-module M of G acting on A by conjugation
    k := CoefficientRing(A);
    d := Dimension(A);
    S := RMatrixSpace(A, k);
    return GModule(
        G,
        [
            MatrixAlgebra(k, d) |
            &cat[
                Coordinates(S, S.j^g): j in [1 .. d]
            ] where g is G.i: i in [1 .. Ngens(G)]
        ]
    );
end function;
MakeGroup := function(A)
    // Make group G from upper-triangular matrix algebra A
    k := CoefficientRing(A);
    n := Degree(A);
    return MatrixGroup<n, k | [Eltseq(1 + A.i): i in [1 .. Ngens(A)]]>;
end function;
k := GF(3);
n := 4;
M := MatrixAlgebra(k, n);
A := sub<M |
     [0,2,1,1, 0,0,1,1, 0,0,0,1, 0,0,0,0],
     [0,1,0,0, 0,0,2,2, 0,0,0,1, 0,0,0,0]>;
G := MakeGroup(A);
G;
M := MakeMod(A, G);
M: Maximal;
SetEchoInput(ei);
