//Standard generators of L2(31) are a and b where a has order 2, b has order 3
//and ab has order 31.
//Standard generators of the double cover 2.L2(31) = SL2(31) are preimages A and
//B where B has order 3 and AB has order 31.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a^-1, b^-1] ]
             where a is (_LR`F).1 where b is (_LR`F).2;
//two constituents fixed by auto
_LR`G :=
/*
Original group: c9Group("sl231p")
Direct integral method
Schur index: 2
Character: ( 64, -64, 4, 0, -1, -1, -4, 0, 0, 1, 1, -1, -1, -1, -1, 0, 0, 0, 0, 
1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, -2 )
*/

MatrixGroup<128,IntegerRing() |
Matrix(SparseMatrix(128,128,\[
4,21,1,22,1,23,1,24,1,1,21,-1,1,22,-1,1,23,-1,4,17,-1,
18,-1,19,-1,20,-1,1,17,1,1,18,1,1,19,1,1,13,1,1,14,1,
1,15,1,1,16,1,1,9,-1,1,10,-1,1,11,-1,1,12,-1,1,6,-1,
1,7,-1,1,8,-1,4,5,1,6,1,7,1,8,1,1,2,1,1,3,1,1,4,1,
4,1,-1,2,-1,3,-1,4,-1,1,76,-1,4,73,1,74,1,75,1,76,1,
1,73,-1,1,74,-1,4,101,-1,102,-1,103,-1,104,-1,1,101,1,
1,102,1,1,103,1,1,116,-1,4,113,1,114,1,115,1,116,1,1,
113,-1,1,114,-1,1,124,-1,4,121,1,122,1,123,1,124,1,1,
121,-1,1,122,-1,1,72,-1,4,69,1,70,1,71,1,72,1,1,69,-1,
1,70,-1,4,85,-1,86,-1,87,-1,88,-1,1,85,1,1,86,1,1,
87,1,4,61,-1,62,-1,63,-1,64,-1,1,61,1,1,62,1,1,63,1,1,
58,1,1,59,1,1,60,1,4,57,-1,58,-1,59,-1,60,-1,4,53,1,
54,1,55,1,56,1,1,53,-1,1,54,-1,1,55,-1,1,50,-1,1,
51,-1,1,52,-1,4,49,1,50,1,51,1,52,1,1,125,1,1,126,1,
1,127,1,1,128,1,1,43,1,1,44,1,4,41,-1,42,-1,43,-1,
44,-1,1,41,1,1,27,1,1,28,1,4,25,-1,26,-1,27,-1,28,-1,
1,25,1,1,117,-1,1,118,-1,1,119,-1,1,120,-1,1,109,1,
1,110,1,1,111,1,1,112,1,1,46,-1,1,47,-1,1,48,-1,4,
45,1,46,1,47,1,48,1,4,97,1,98,1,99,1,100,1,1,97,-1,
1,98,-1,1,99,-1,1,106,-1,1,107,-1,1,108,-1,4,105,1,
106,1,107,1,108,1,1,90,1,1,91,1,1,92,1,4,89,-1,90,-1,
91,-1,92,-1,1,30,-1,1,31,-1,1,32,-1,4,29,1,30,1,31,1,
32,1,4,93,-1,94,-1,95,-1,96,-1,1,93,1,1,94,1,1,95,1,
1,81,-1,1,82,-1,1,83,-1,1,84,-1,1,35,1,1,36,1,4,
33,-1,34,-1,35,-1,36,-1,1,33,1,1,77,1,1,78,1,1,79,1,
1,80,1,1,39,1,1,40,1,4,37,-1,38,-1,39,-1,40,-1,1,
37,1,1,65,-1,1,66,-1,1,67,-1,1,68,-1
])),Matrix(SparseMatrix(128,128,\[
1,61,-1,1,62,-1,1,63,-1,1,64,-1,4,73,1,74,1,75,1,
76,1,1,73,-1,1,74,-1,1,75,-1,4,21,1,22,1,23,1,24,1,
1,21,-1,1,22,-1,1,23,-1,1,19,-1,1,20,-1,4,17,1,18,1,
19,1,20,1,1,17,-1,4,81,1,82,1,83,1,84,1,1,81,-1,1,
82,-1,1,83,-1,1,45,-1,1,46,-1,1,47,-1,1,48,-1,1,
107,1,1,108,1,4,105,-1,106,-1,107,-1,108,-1,1,105,1,
1,85,1,1,86,1,1,87,1,1,88,1,1,2,1,1,3,1,1,4,1,4,
1,-1,2,-1,3,-1,4,-1,1,124,1,4,121,-1,122,-1,123,-1,
124,-1,1,121,1,1,122,1,1,66,1,1,67,1,1,68,1,4,65,-1,
66,-1,67,-1,68,-1,1,10,1,1,11,1,1,12,1,4,9,-1,10,-1,
11,-1,12,-1,1,56,1,4,53,-1,54,-1,55,-1,56,-1,1,53,1,1,
54,1,1,79,-1,1,80,-1,4,77,1,78,1,79,1,80,1,1,77,-1,1,
57,1,1,58,1,1,59,1,1,60,1,4,33,1,34,1,35,1,36,1,1,
33,-1,1,34,-1,1,35,-1,1,118,-1,1,119,-1,1,120,-1,4,
117,1,118,1,119,1,120,1,4,113,-1,114,-1,115,-1,116,-1,
1,113,1,1,114,1,1,115,1,1,126,-1,1,127,-1,1,128,-1,
4,125,1,126,1,127,1,128,1,1,49,-1,1,50,-1,1,51,-1,1,
52,-1,4,13,-1,14,-1,15,-1,16,-1,1,13,1,1,14,1,1,15,1,
1,96,-1,4,93,1,94,1,95,1,96,1,1,93,-1,1,94,-1,1,70,-1,
1,71,-1,1,72,-1,4,69,1,70,1,71,1,72,1,1,31,-1,1,32,-1,
4,29,1,30,1,31,1,32,1,1,29,-1,1,97,1,1,98,1,1,99,1,
1,100,1,1,26,1,1,27,1,1,28,1,4,25,-1,26,-1,27,-1,
28,-1,1,103,1,1,104,1,4,101,-1,102,-1,103,-1,104,-1,1,
101,1,1,40,1,4,37,-1,38,-1,39,-1,40,-1,1,37,1,1,38,1,
1,89,-1,1,90,-1,1,91,-1,1,92,-1,1,44,-1,4,41,1,42,1,
43,1,44,1,1,41,-1,1,42,-1,4,109,-1,110,-1,111,-1,112,-1,
1,109,1,1,110,1,1,111,1,1,5,1,1,6,1,1,7,1,1,8,1 ]))>;

return _LR;
