//Standard generators of M12 are a and b where a is in class 2B, b is in class
//3B and ab has order 11.
//Standard generators of the double cover 2.M12 are preimages A and B where A is
//in class +2B, B has order 6 and AB has order 11. (Note that any two of these
//conditions imply the third.)

_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a, a*b^-1*a ] ] where a is (_LR`F).1 where b is (_LR`F).2;

//two reps interchanged by auto
_LR`G :=
MatrixGroup<10, ext<K|Polynomial(K, [2, 0, 1])> where K is  RationalField() |
[[-1,2],[2,2],[
-1,-1],[2,0],[3,2],[
-3,1],[-1,-1],[
-1,-1],[3,1],[2,-1],[
-7,-7],[-9,1],[
7,-1],[-5,3],[-7,2],[
4,-2],[6,1],[
6,-1],[-8,3],[-1,10],[
0,17],[15,5],[
-13,-6],[14,-2],[12,4],[
-12,1],[-5,-6],[
-10,-6],[25,2],[17,-13],[
1,7],[7,2],[
-5,-2],[5,-1],[6,1],[
-5,1],[-3,-2],[
-4,-2],[10,1],[6,-6],[
-6,7],[4,5],[
-3,-4],[6,2],[4,4],[
-5,-2],[-1,-4],[
-3,-3],[7,5],[12,-3],[
-5,-2],[-3,1],[
3,-1],[-1,2],[-3,1],[
1,-2],[3,0],[
2,-1],[-3,3],[2,4],[
-6,-6],[-8,1],[
7,0],[-4,3],[-7,2],[
3,-3],[4,1],[
5,0],[-9,4],[-2,8],[
-15,1],[-4,7],[
4,-6],[2,6],[-3,6],[
-2,-5],[5,-3],[
4,-5],[0,10],[13,7],[
-8,0],[-2,3],[
3,-3],[1,3],[-2,2],[
0,-3],[3,-1],[
3,-2],[-1,6],[6,4],[
-3,2],[2,2],[
-1,-2],[2,1],[2,1],[
-1,0],[0,-1],[
0,-2],[3,2],[4,0]],
[[-12,-6],[-10,3],[
9,-3],[-4,5],[
-8,3],[4,-5],[8,0],[
8,-1],[-9,8],[
5,11],[-4,6],[4,4],[
-3,-4],[5,1],[
4,3],[-5,-1],[0,-3],[
-1,-3],[8,4],[
10,-3],[35,-3],[8,-17],[
-8,13],[-4,-14],[
5,-15],[4,11],[-9,8],[
-7,12],[1,-22],[
-31,-15],[2,1],[1,-1],[
-1,0],[1,-1],[
1,-1],[0,0],[0,0],[
0,1],[1,-1],[
0,-2],[5,1],[3,-2],[
-2,2],[0,-2],[
2,-2],[0,2],[-3,1],[
-3,1],[2,-3],[
-4,-3],[0,-3],[-2,-1],[
2,1],[-2,0],[
-2,-1],[2,0],[1,1],[
2,1],[-4,0],[
-4,2],[5,3],[5,-1],[
-3,1],[2,-2],[
4,-2],[-1,2],[-3,1],[
-3,1],[4,-2],[
-1,-5],[-1,6],[5,2],[
-4,-2],[5,0],[
5,2],[-4,0],[-2,-2],[
-4,-2],[7,1],[
7,-4],[-1,6],[5,2],[
-4,-2],[5,0],[
4,2],[-4,0],[-2,-2],[
-4,-2],[8,1],[
6,-4],[-1,10],[8,4],[
-7,-4],[8,0],[
8,3],[-7,0],[-3,-4],[
-5,-3],[13,2],[12,-8]]>;

return _LR;
