//Standard generators of L2(29) are a and b where a has order 2, b has order 3
//and ab has order 29.
//Standard generators of the double cover 2.L2(29) = SL2(29) are pre-images A
//and B where B has order 3 and AB has order 29.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI:=[[a^-1,a^-1*b*a*b*a*b*a*b^-1*a*b^-1*a*b*a*b^-1*a*b^-1]]
             where a is (_LR`F).1 where b is (_LR`F).2;
//irreducible, fixed by auto
_LR`G := sub<GL(28,Integers()) |
\[ -1,0,0,0,-1,-1,0,-1,-1,0,1,0,0,1,0,0,0,0,0,0,-1,0,
0,-1,0,-1,1,-1,-1,2,-1,-1,-1,-1,-1,0,-1,0,0,0,0,1,0,-1,
-1,0,0,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,-1,-1,0,0,0,0,
1,-2,1,1,1,0,0,-1,0,0,0,0,-1,0,-1,1,-1,0,0,0,-1,0,0,
0,0,0,0,0,-1,0,-1,0,0,0,1,0,-1,0,0,0,0,-1,0,0,0,0,1,
0,-1,-1,0,0,0,0,0,1,-1,1,0,-1,-1,-1,-1,0,0,-1,0,0,1,1,
0,-1,0,0,1,-1,0,-1,-1,-1,0,0,1,0,0,-1,1,0,0,-1,0,-1,0,
0,0,0,0,0,0,0,0,-1,1,-1,0,-1,0,0,0,-1,-1,0,1,0,1,0,
-1,0,-1,0,1,-1,0,0,0,1,-1,0,0,-1,0,-1,0,0,0,0,0,0,-1,
0,1,-2,0,1,1,1,0,-1,1,0,0,0,-1,0,-1,1,-1,0,0,0,-1,1,
0,-1,1,0,0,0,0,0,-1,0,1,1,1,1,0,1,0,0,0,-1,1,0,0,0,
0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,1,0,0,0,0,0,0,
0,0,1,1,-1,-2,0,0,-1,1,1,0,1,0,-1,-1,-1,1,0,0,0,0,1,
0,0,1,0,1,-1,0,1,-1,0,1,0,1,1,0,1,0,0,0,-1,-1,0,1,0,
-1,-1,1,1,0,0,0,0,1,0,0,0,-1,1,1,1,1,1,0,0,0,-1,0,1,
-1,0,0,1,0,1,1,1,0,0,0,0,1,0,1,-1,1,-1,-1,-1,-1,-1,0,
-1,0,0,1,0,2,0,-1,0,0,1,0,-1,0,0,0,1,-1,0,0,0,1,0,-1,
1,0,-1,1,1,0,-1,1,0,0,-1,0,0,0,1,0,1,0,0,1,0,1,-1,1,
0,-1,1,1,0,-1,0,-1,-1,0,-1,0,0,1,1,-1,0,1,0,-1,0,0,0,
-1,0,-1,1,0,-1,0,0,0,0,0,0,0,-1,0,0,0,1,1,0,-1,0,0,1,
0,-1,0,0,0,0,-1,0,0,0,-1,-1,0,-1,0,0,0,0,0,1,-1,-1,0,
0,1,0,0,-1,0,0,0,0,-1,0,0,1,-1,0,1,0,-1,0,-1,-1,0,0,
0,0,0,0,0,0,0,0,1,0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,
0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,-1,0,0,1,-1,0,1,
0,0,1,1,0,1,0,0,-1,1,1,-1,0,0,1,0,1,1,1,0,0,1,0,1,
-1,2,2,0,0,0,0,-1,0,0,1,1,1,0,-1,0,1,1,-1,0,-1,-1,0,
0,0,1,0,0,0,-1,1,-1,1,2,0,0,1,-1,0,0,0,0,0,1,1,-1,-1,
0,0,0,0,0,1,0,1,-1,0,-1,1,-1,0,1,0,0,1,0,0,1,0,-1,1,
0,1,0,0,1,0,-1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,-1,0,0,0,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,
0,0,0,1,0,0,0,0,1,-1,-1,-2,-1,0,0,-1,0,0,1,1,0,-1,0,
1,1,-1,0,-1,-1,0,0,0,1,1,-1,0,0,1,1,-1,1,-1,0,0,1,0,
0,0,0,0,-1,1,0,0,-1,0,-1,-1,0,0,0,1,0,-1,0,0,1,0,1,0,
-1,1,0,0,0,0,0,0,-1 ],
\[ 0,-1,1,1,1,-1,0,0,0,0,-1,1,0,1,1,0,1,1,1,-1,0,0,0,
-1,0,-1,1,0,0,0,1,0,1,0,0,1,0,0,0,1,0,-1,0,1,1,-1,0,
0,0,0,-1,1,-1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,-1,1,-1,0,1,
-1,0,0,-1,0,0,-1,-1,-1,-1,0,-1,0,0,0,0,0,0,0,0,0,1,0,
1,0,1,0,0,1,-1,-1,1,1,1,0,0,1,0,0,0,1,0,0,0,0,-1,1,
0,-1,0,0,-1,1,-1,0,0,0,1,0,-1,0,0,0,1,0,0,0,0,0,-1,1,
0,1,1,0,1,1,1,0,1,0,1,0,0,1,0,-1,1,1,1,0,0,1,1,0,0,
1,0,1,0,0,1,1,-1,-1,-1,0,-1,1,0,0,1,0,1,1,-2,-1,-1,-1,
1,0,0,0,0,1,1,1,-1,0,1,0,-1,0,-1,0,-1,1,0,0,0,0,0,1,
-1,-1,-1,-1,0,-1,0,0,0,0,1,0,-1,0,0,1,0,0,-1,0,0,0,-1,
0,1,-1,2,0,-1,-1,-1,0,1,1,0,0,1,0,0,1,0,0,1,1,-2,-1,
-1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,-1,0,0,
0,-1,1,-1,1,1,-1,0,0,0,-1,1,1,0,-1,-1,1,0,1,0,1,1,-1,
1,0,0,-1,1,0,0,1,-1,0,0,-1,1,1,0,-1,0,1,0,-1,-2,0,-1,
0,0,0,1,0,1,0,-1,-1,1,0,1,1,1,-1,0,1,1,0,-1,2,-1,0,2,
1,1,0,0,0,1,0,0,1,0,0,0,0,0,1,0,-1,0,0,0,0,0,0,0,0,
0,-1,0,0,0,0,0,0,0,0,0,1,0,0,-1,1,0,-1,1,0,1,0,0,0,
1,1,-1,0,-1,0,1,1,0,0,-1,-1,0,0,-1,0,-1,0,0,0,0,0,1,
1,0,-1,0,0,0,0,0,1,0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,1,
0,0,0,-1,0,-1,0,-1,0,0,0,0,0,0,2,-1,-1,-1,0,1,0,0,0,
1,-1,1,0,0,-1,0,0,0,-1,1,0,-1,1,-1,0,0,0,0,-1,0,1,1,
0,0,-1,0,0,-1,0,-1,0,0,1,1,0,-1,0,-1,-1,-1,0,0,0,0,0,
0,2,0,-1,-1,1,1,-1,0,0,1,-1,1,-1,0,-1,1,1,0,0,-1,0,0,
0,0,0,1,-1,0,-1,0,0,-1,0,-1,1,1,0,1,1,0,1,-1,0,-1,-1,
0,0,1,1,1,0,-1,-1,0,0,0,-1,1,1,2,1,0,0,0,1,-1,-1,-1,
-1,1,0,-1,-1,1,0,1,0,1,0,0,0,0,0,0,-1,0,1,1,0,0,0,0,
0,-1,0,-1,0,1,0,-1,-1,1,0,0,0,-1,0,-1,0,0,-1,0,0,-1,0,
0,0,0,-1,0,-1,0,-1,-1,0,1,0,-1,0,0,-1,1,1,1,-1,1,0,0,
0,-1,-1,0,1,0,0,0,1,0,0,0,0,-1,0,0,0,-1,-1,1,1,2,1,2,
-1,1,-1,-1,2,-1,-1,2,1,2,0,0,1,0,0,0,0,0,-1,1,0,-1,-1,
1,0,1,0,0,0,-1,-1,0,0,0,0,0,0,1,1,1,-1,0,0,0,-1,-1,
-1,1,0,0,0,-1,-1,0,-1,0,1,0,0,0,0,-1,0,1,1,1,1,0,-1,
0,1,-1,0,0,-1,0,0 ] >;

return _LR;
