RequirePackage( "meataxe" );

f:= GF(2);
a:= Algebra( f, MeatAxeMat( (1,2,3,4,5), f, [ 5, 5 ] ),
                MeatAxeMat( (1,2)      , f, [ 5, 5 ] ) );
Print( "# a is a 5-dim. matrix rep. of GF(2)S5\n");

# submodule lattices
#
# latt1m11
# latt2m11
# latta7

latt1m11:=
[ rec(
      dimensions := 
       [ 0, 1, 45, 11, 55, 12, 46, 56, 56, 56, 56, 66, 
          56, 57, 100, 67, 101, 111, 112 ],
      maxes := 
       [ [  ], [ 1 ], [ 2 ], [ 2 ], [ 3, 4 ], [ 4 ], 
          [ 3 ], [ 6 ], [ 6 ], [ 5, 7 ], [ 5, 6 ], 
          [ 10 ], [ 5 ], [ 10, 11, 13 ], [ 8, 9, 11 ], 
          [ 12, 14 ], [ 14, 15 ], [ 16, 17 ], [ 18 ] ],
      weights := 
       [ [  ], [ 1 ], [ 4 ], [ 2 ], [ 2, 4 ], [ 1 ], 
          [ 1 ], [ 4 ], [ 4 ], [ 1, 2 ], [ 1, 4 ], 
          [ 2 ], [ 1 ], [ 1, 1, 1 ], [ 4, 4, 4 ], 
          [ 1, 2 ], [ 4, 1 ], [ 4, 2 ], [ 1 ] ],
      XGAP := 
       [ [ 1, 0, [  ] ], [ 2, 1, [ 1 ] ], [ 3, 45, 
              [ 2 ] ], [ 4, 11, [ 2 ] ], 
          [ 5, 55, [ 3, 4 ] ], [ 6, 12, [ 4 ] ], 
          [ 7, 46, [ 3 ] ], [ 8, 56, [ 6 ] ], 
          [ 9, 56, [ 6 ] ], [ 10, 56, [ 5, 7 ] ], 
          [ 11, 56, [ 5, 6 ] ], [ 12, 66, [ 10 ] ], 
          [ 13, 56, [ 5 ] ], [ 14, 57, [ 10, 11, 13 ] ],
          [ 15, 100, [ 8, 9, 11 ] ], 
          [ 16, 67, [ 12, 14 ] ], 
          [ 17, 101, [ 14, 15 ] ], 
          [ 18, 111, [ 16, 17 ] ], [ 19, 112, [ 18 ] ] 
         ] ), rec(
      dimensions := [ 0, 32 ],
      maxes := [ [  ], [ 1 ] ],
      weights := [ [  ], [ 3 ] ],
      XGAP := [ [ 1, 0, [  ] ], [ 2, 32, [ 1 ] ] ] ) ];

latt2m11:=
[ rec(
      dimensions := 
       [ 0, 1, 11, 45, 55, 46, 12, 56, 56, 56, 56, 56, 
          56, 56, 56, 56, 66, 57, 67, 100, 101, 111, 
          112 ],
      maxes := 
       [ [  ], [ 1 ], [ 2 ], [ 2 ], [ 3, 4 ], [ 4 ], 
          [ 3 ], [ 5 ], [ 5, 6 ], [ 7 ], [ 5 ], [ 7 ], 
          [ 7 ], [ 7 ], [ 5, 7 ], [ 5 ], [ 9 ], 
          [ 8, 9, 11, 15, 16 ], [ 17, 18 ], 
          [ 10, 12, 13, 14, 15 ], [ 18, 20 ], 
          [ 19, 21 ], [ 22 ] ],
      weights := 
       [ [  ], [ 1 ], [ 2 ], [ 5 ], [ 5, 2 ], [ 1 ], 
          [ 1 ], [ 1 ], [ 1, 2 ], [ 5 ], [ 1 ], [ 5 ], 
          [ 5 ], [ 5 ], [ 1, 5 ], [ 1 ], [ 2 ], 
          [ 1, 1, 1, 1, 1 ], [ 1, 2 ], 
          [ 5, 5, 5, 5, 5 ], [ 5, 1 ], [ 5, 2 ], [ 1 ] ]
       ,
      XGAP := 
       [ [ 1, 0, [  ] ], [ 2, 1, [ 1 ] ], [ 3, 11, 
              [ 2 ] ], [ 4, 45, [ 2 ] ], 
          [ 5, 55, [ 3, 4 ] ], [ 6, 46, [ 4 ] ], 
          [ 7, 12, [ 3 ] ], [ 8, 56, [ 5 ] ], 
          [ 9, 56, [ 5, 6 ] ], [ 10, 56, [ 7 ] ], 
          [ 11, 56, [ 5 ] ], [ 12, 56, [ 7 ] ], 
          [ 13, 56, [ 7 ] ], [ 14, 56, [ 7 ] ], 
          [ 15, 56, [ 5, 7 ] ], [ 16, 56, [ 5 ] ], 
          [ 17, 66, [ 9 ] ], 
          [ 18, 57, [ 8, 9, 11, 15, 16 ] ], 
          [ 19, 67, [ 17, 18 ] ], 
          [ 20, 100, [ 10, 12, 13, 14, 15 ] ], 
          [ 21, 101, [ 18, 20 ] ], 
          [ 22, 111, [ 19, 21 ] ], [ 23, 112, [ 22 ] ] 
         ] ), rec(
      dimensions := [ 0, 16 ],
      maxes := [ [  ], [ 1 ] ],
      weights := [ [  ], [ 3 ] ],
      XGAP := [ [ 1, 0, [  ] ], [ 2, 16, [ 1 ] ] ] ), 
  rec(
      dimensions := [ 0, 16 ],
      maxes := [ [  ], [ 1 ] ],
      weights := [ [  ], [ 4 ] ],
      XGAP := [ [ 1, 0, [  ] ], [ 2, 16, [ 1 ] ] ] ) ];

latta7:=
[ rec(
      dimensions := 
       [ 0, 1, 21, 15, 35, 22, 36, 16, 36, 36, 36, 36, 
          36, 36, 50, 37, 51, 56, 57, 71, 72 ],
      maxes := 
       [ [  ], [ 1 ], [ 2 ], [ 2 ], [ 3, 4 ], [ 3 ], 
          [ 6 ], [ 4 ], [ 8 ], [ 8 ], [ 6 ], [ 5, 6 ], 
          [ 5, 8 ], [ 5 ], [ 7, 11, 12 ], 
          [ 12, 13, 14 ], [ 15, 16 ], [ 9, 10, 13 ], 
          [ 16, 18 ], [ 17, 19 ], [ 20 ] ],
      weights := 
       [ [  ], [ 1 ], [ 6 ], [ 5 ], [ 5, 6 ], [ 1 ], 
          [ 5 ], [ 1 ], [ 6 ], [ 6 ], [ 5 ], [ 1, 5 ], 
          [ 1, 6 ], [ 1 ], [ 5, 5, 5 ], [ 1, 1, 1 ], 
          [ 1, 5 ], [ 6, 6, 6 ], [ 6, 1 ], [ 6, 5 ], 
          [ 1 ] ],
      XGAP := 
       [ [ 1, 0, [  ] ], [ 2, 1, [ 1 ] ], [ 3, 21, 
              [ 2 ] ], [ 4, 15, [ 2 ] ], 
          [ 5, 35, [ 3, 4 ] ], [ 6, 22, [ 3 ] ], 
          [ 7, 36, [ 6 ] ], [ 8, 16, [ 4 ] ], 
          [ 9, 36, [ 8 ] ], [ 10, 36, [ 8 ] ], 
          [ 11, 36, [ 6 ] ], [ 12, 36, [ 5, 6 ] ], 
          [ 13, 36, [ 5, 8 ] ], [ 14, 36, [ 5 ] ], 
          [ 15, 50, [ 7, 11, 12 ] ], 
          [ 16, 37, [ 12, 13, 14 ] ], 
          [ 17, 51, [ 15, 16 ] ], 
          [ 18, 56, [ 9, 10, 13 ] ], 
          [ 19, 57, [ 16, 18 ] ], 
          [ 20, 71, [ 17, 19 ] ], [ 21, 72, [ 20 ] ] ] )
    , rec(
      dimensions := 
       [ 0, 4, 10, 14, 4, 10, 20, 14, 14, 20, 14, 8, 
          24, 24, 20, 20, 14, 24, 24, 14, 14, 18, 18, 
          24, 24, 24, 20, 28, 24, 28, 24, 28, 24, 28, 
          30, 30, 28, 34, 34, 34, 34, 34, 34, 34, 38, 
          38, 40, 44, 44, 48 ],
      maxes := 
       [ [  ], [ 1 ], [ 2 ], [ 3 ], [ 1 ], [ 5 ], 
          [ 4 ], [ 6 ], [ 6 ], [ 9 ], [ 3 ], [ 2, 5 ], 
          [ 10 ], [ 7 ], [ 11 ], [ 8 ], [ 6, 12 ], 
          [ 16 ], [ 15 ], [ 3, 12 ], [ 12 ], 
          [ 4, 11, 20 ], [ 8, 9, 17 ], [ 7, 22 ], 
          [ 16, 23 ], [ 10, 23 ], [ 17, 20, 21 ], 
          [ 13, 26 ], [ 22, 27 ], [ 18, 25 ], 
          [ 23, 27 ], [ 29, 31 ], [ 15, 22 ], 
          [ 19, 33 ], [ 24, 29, 33 ], [ 25, 26, 31 ], 
          [ 14, 24 ], [ 30, 36 ], [ 35, 37 ], 
          [ 32, 35 ], [ 28, 36 ], [ 32, 36 ], [ 32 ], 
          [ 34, 35 ], [ 39, 40, 44 ], [ 38, 41, 42 ], 
          [ 40, 42, 43 ], [ 45, 47 ], [ 46, 47 ], 
          [ 48, 49 ] ],
      weights := 
       [ [  ], [ 2 ], [ 4 ], [ 3 ], [ 3 ], [ 4 ], 
          [ 4 ], [ 2 ], [ 2 ], [ 4 ], [ 3 ], [ 3, 2 ], 
          [ 3 ], [ 2 ], [ 4 ], [ 4 ], [ 2, 4 ], [ 3 ], 
          [ 2 ], [ 3, 4 ], [ 4 ], [ 3, 3, 3 ], 
          [ 2, 2, 2 ], [ 3, 4 ], [ 2, 4 ], [ 2, 4 ], 
          [ 4, 4, 4 ], [ 2, 3 ], [ 4, 3 ], [ 2, 3 ], 
          [ 4, 2 ], [ 2, 3 ], [ 3, 4 ], [ 3, 2 ], 
          [ 4, 4, 4 ], [ 4, 4, 4 ], [ 3, 2 ], [ 4, 3 ], 
          [ 2, 4 ], [ 4, 2 ], [ 4, 3 ], [ 4, 3 ], 
          [ 4 ], [ 4, 2 ], [ 2, 2, 2 ], [ 3, 3, 3 ], 
          [ 4, 4, 4 ], [ 4, 2 ], [ 4, 3 ], [ 3, 2 ] ],
      XGAP := 
       [ [ 1, 0, [  ] ], [ 2, 4, [ 1 ] ], [ 3, 10, 
              [ 2 ] ], [ 4, 14, [ 3 ] ], 
          [ 5, 4, [ 1 ] ], [ 6, 10, [ 5 ] ], 
          [ 7, 20, [ 4 ] ], [ 8, 14, [ 6 ] ], 
          [ 9, 14, [ 6 ] ], [ 10, 20, [ 9 ] ], 
          [ 11, 14, [ 3 ] ], [ 12, 8, [ 2, 5 ] ], 
          [ 13, 24, [ 10 ] ], [ 14, 24, [ 7 ] ], 
          [ 15, 20, [ 11 ] ], [ 16, 20, [ 8 ] ], 
          [ 17, 14, [ 6, 12 ] ], [ 18, 24, [ 16 ] ], 
          [ 19, 24, [ 15 ] ], [ 20, 14, [ 3, 12 ] ], 
          [ 21, 14, [ 12 ] ], [ 22, 18, [ 4, 11, 20 ] ],
          [ 23, 18, [ 8, 9, 17 ] ], 
          [ 24, 24, [ 7, 22 ] ], [ 25, 24, [ 16, 23 ] ],
          [ 26, 24, [ 10, 23 ] ], 
          [ 27, 20, [ 17, 20, 21 ] ], 
          [ 28, 28, [ 13, 26 ] ], 
          [ 29, 24, [ 22, 27 ] ], 
          [ 30, 28, [ 18, 25 ] ], 
          [ 31, 24, [ 23, 27 ] ], 
          [ 32, 28, [ 29, 31 ] ], 
          [ 33, 24, [ 15, 22 ] ], 
          [ 34, 28, [ 19, 33 ] ], 
          [ 35, 30, [ 24, 29, 33 ] ], 
          [ 36, 30, [ 25, 26, 31 ] ], 
          [ 37, 28, [ 14, 24 ] ], 
          [ 38, 34, [ 30, 36 ] ], 
          [ 39, 34, [ 35, 37 ] ], 
          [ 40, 34, [ 32, 35 ] ], 
          [ 41, 34, [ 28, 36 ] ], 
          [ 42, 34, [ 32, 36 ] ], [ 43, 34, [ 32 ] ], 
          [ 44, 34, [ 34, 35 ] ], 
          [ 45, 38, [ 39, 40, 44 ] ], 
          [ 46, 38, [ 38, 41, 42 ] ], 
          [ 47, 40, [ 40, 42, 43 ] ], 
          [ 48, 44, [ 45, 47 ] ], 
          [ 49, 44, [ 46, 47 ] ], 
          [ 50, 48, [ 48, 49 ] ] ] ) ];

Print( "# lattices 'latt1m11', 'latt2m11', 'latta7'\n");

