/*
www-ATLAS of Group Representations.
2.A13 represented as 32 x 32 matrices over GF(3).
*/

F:=GF(3);

x:=CambridgeMatrix(1,F,32,[
"22000000000000000000000000000000",
"10000000000000000000000000000000",
"00220000000000000000000000000000",
"00100000000000000000000000000000",
"00002020000000000000000000000000",
"00000200200000000000000000000000",
"00001000000000000000000000000000",
"00000002000200000000000000000000",
"00000100000000000000000000000000",
"00000000020002000000000000000000",
"00000000002000200000000000000000",
"00000001000000000000000000000000",
"00000000000020020000000000000000",
"00000000010000000000000000000000",
"00000000001000000000000000000000",
"00000000000010000000000000000000",
"00000000000000000100000000000000",
"00000000000000002200000000000000",
"00000000000000000001000000000000",
"00000000000000000022000000000000",
"00000000000000000000001000000000",
"00000000000000000000000010000000",
"00000000000000000000202000000000",
"00000000000000000000000000010000",
"00000000000000000000020020000000",
"00000000000000000000000000000100",
"00000000000000000000000000000010",
"00000000000000000000000200020000",
"00000000000000000000000000000001",
"00000000000000000000000002000200",
"00000000000000000000000000200020",
"00000000000000000000000000002002"]);

y:=CambridgeMatrix(1,F,32,[
"00000000000000000200220101101000",
"00000000000000000001010000202000",
"00000000000000001120021001000000",
"00000000000000000010010012002000",
"00000000000000000000000200210000",
"00000000000000000000000101002100",
"00000000000000000000000100200010",
"00000000000000002210121200121200",
"00000000000000000000000202200001",
"00000000000000002111212201212100",
"00000000000000002111112101210000",
"00000000000000000020200110002022",
"00000000000000000102100201120000",
"00000000000000000120100122200011",
"00000000000000000120210222002010",
"00000000000000000200220102002020",
"02002201011010001100000000000000",
"00010100002020000020000000000000",
"11200210010000000000200000000000",
"00100100120020000000020000000000",
"00000002002100000000000200000000",
"00000001010021000000000002000000",
"00000001002000100000000000200000",
"22101212001212001222021101120000",
"00000002022000010000000000002000",
"21112122012121001120100102210000",
"21111121012100000000112200212100",
"00202001100020222201002020111010",
"01021002011200002210000102121200",
"01201001222000112200010000122020",
"01202102220020100000011010220222",
"02002201020020201100000000112111"]);

G<x,y>:=MatrixGroup<32,F|x,y>;
G`Base:=
<
    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 1, 1,
        1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 0,
        0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0,
        1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0,
        2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 1,
        2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
        1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1,
        1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1,
        0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
        1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
        0, 0, 2, 0, 2, 0, 0, 2, 2, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2,
        2, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 1, 2,
        0, 2, 0, 0, 0, 1, 1, 0, 0, 1, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
        1, 0, 1, 0, 2, 1, 0, 0, 0, 0, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,
        0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 1,
        1, 1, 1, 1, 0, 2, 1, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2,
        2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 0 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
        [ GF(3) | 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
        0, 2, 0, 2, 0, 0, 2, 0, 2, 2, 2 ],
        [ GF(3) | 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 0,
        1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
        2, 0, 0, 2, 0, 2, 0, 2, 0, 2, 2 ],
        [ GF(3) | 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0,
        0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1,
        0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1,
        0, 2, 0, 0, 1, 0, 0, 0, 1, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 2,
        0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2,
        1, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
        0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1,
        1, 0, 0, 0, 1, 2, 0, 1, 0, 1, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 2, 1,
        0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2,
        2, 0, 1, 0, 2, 1, 0, 1, 0, 0, 1 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2,
        0, 2, 1, 0, 2, 0, 1, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2,
        2, 2, 0, 2, 2, 2, 0, 2, 2, 0, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
        1, 1, 2, 1, 1, 2, 2, 0, 1, 2, 1 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 2, 2, 0, 2, 1, 1, 1, 0,
        0, 0, 2, 0, 1, 0, 2, 1, 1, 1, 1 ],
        [ GF(3) | 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 2, 2, 0, 2, 0,
        0, 0, 2, 0, 2, 2, 2, 0, 0, 0, 1 ],
        [ GF(3) | 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 2, 0,
        0, 0, 2, 0, 2, 1, 1, 2, 2, 2, 0 ],
        [ GF(3) | 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 2, 0, 1, 2, 1, 0,
        0, 0, 2, 0, 0, 2, 1, 2, 0, 1, 2 ],
        [ GF(3) | 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 2, 0, 2,
        1, 2, 0, 0, 1, 0, 1, 0, 0, 0, 1 ],
        [ GF(3) | 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 1, 0, 1,
        1, 0, 1, 2, 2, 2, 0, 1, 1, 1, 1 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 2, 0, 1, 0, 2, 0, 2, 1, 1, 0,
        2, 2, 1, 2, 1, 0, 1, 1, 2, 0, 1 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 1, 0, 0, 2, 2, 2,
        1, 2, 2, 0, 0, 2, 2, 1, 0, 2, 2 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 2, 0, 0, 0, 2, 2, 2, 1,
        1, 1, 1, 1, 2, 1, 0, 0, 1, 2, 2 ],
        [ GF(3) | 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 2, 2, 2, 0, 0, 1, 0,
        0, 2, 1, 2, 1, 2, 1, 1, 0, 0, 2 ],
        [ GF(3) | 0, 0, 1, 0, 0, 0, 0, 2, 0, 2, 1, 0, 1, 0, 2, 2, 0, 0, 1, 0, 0,
        1, 0, 2, 0, 2, 0, 0, 1, 2, 2, 1 ],
        [ GF(3) | 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0,
        2, 0, 1, 2, 0, 2, 1, 0, 2, 1, 1 ],
        [ GF(3) | 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 0, 1,
        0, 0, 2, 0, 2, 0, 1, 0, 2, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0,
        2, 0, 1, 0, 2, 1, 0, 1, 1, 1, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
        0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 0, 2, 0, 0, 1, 1, 0,
        1, 0, 2, 1, 2, 0, 2, 1, 0, 1, 0 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 1, 2, 2, 0, 0, 1, 0, 1, 0,
        1, 2, 1, 0, 2, 0, 1, 2, 2, 2, 2 ],
        [ GF(3) | 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0,
        1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 2 ],
        [ GF(3) | 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
        0, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1 ],
        [ GF(3) | 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 2, 0, 0, 2, 2, 2,
        0, 2, 1, 2, 1, 0, 1, 0, 0, 2, 2 ],
        [ GF(3) | 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 1, 0, 1,
        2, 2, 1, 1, 0, 2, 2, 1, 2, 1, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 0, 2, 0, 0, 0, 1, 0, 1, 1, 2,
        1, 1, 1, 0, 0, 2, 2, 1, 0, 1, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 2, 0, 1, 0, 2, 1, 0, 0, 0, 2,
        2, 1, 0, 1, 2, 0, 1, 1, 2, 2, 2 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 1, 2, 1, 0, 2, 2, 0, 2,
        1, 2, 0, 0, 1, 0, 1, 2, 2, 2, 2 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 0, 2, 1, 0, 2, 1, 0, 1, 0, 2, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 1, 2, 0, 2, 1, 0, 0, 2, 0, 2, 2, 1, 0, 2, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
        [ GF(3) | 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
    >,

    sub<VectorSpace(GF(3), 32) |
        [ GF(3) | 1, 2, 0, 0, 0, 1, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 2, 1, 1, 2, 0,
        2, 0, 2, 1, 2, 0, 1, 2, 1, 0, 1 ]
    >,

    VectorSpace(GF(3), 32) ! [ GF(3) | 1, 2, 0, 0, 0, 1, 0, 0, 2, 0, 2, 0, 0, 0,
    1, 0, 2, 1, 1, 2, 0, 2, 0, 2, 1, 2, 0, 1, 2, 1, 0, 1 ]
>;
G`Order := Factorial(13);
RandomSchreier(G);
return G;
