"Source: Text/RepThy/ModAlg.text";
"Line: 419";
"Date: Fri Sep 26 12:10:12 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/RepThy/ModAlg.text, line: 419
// Example: H99E3 ()
print "Example: H99E3";
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);
