//Standard generators of L2(27) are a and b where a has order 2, b has order 3
//and ab has order 7.
//Standard generators of the double cover 2.L2(27) = SL2(27) are preimages A and
//B where B has order 3 and AB has order 7.  
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a^-1, b^-1], //PSL(2,27).2 = PGL(2,27)
        [a, a^-1*b^-1*a*b*a*b^-1*a*b*a*b*a*b^-1*a*b*a*b^-1*a*b*a*b^-1*a*b]]
                 //PSL(2,27).3 = PSigmaL(2,27)
             where a is (_LR`F).1 where b is (_LR`F).2;
//two constituents interchanged by _LR`AI[1], fixed by _LR`AI[2]
_LR`G := sub<GL(26,Integers()) |
\[ -1,1,0,0,0,1,-1,0,0,0,0,0,1,-1,0,-1,0,0,0,0,-1,1,0,
-1,0,0,0,0,1,0,0,0,0,0,0,-1,0,-1,0,0,1,-1,0,-1,0,0,
-1,1,0,0,0,0,1,-1,1,1,1,-1,0,0,0,-1,0,0,0,0,1,0,1,-1,
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,0,0,1,-1,1,0,0,0,0,-1,1,0,0,-1,0,1,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,-1,0,0,0,1,-1,-1,0,0,0,0,
0,-1,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,0,0,0,0,0,-1,1,-1,0,0,1,-1,0,0,1,
0,1,1,-1,-1,0,0,1,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,0,0,0,0,0,0,0,1,-1,1,1,0,-1,0,
0,1,0,0,-1,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,-1,
-1,0,0,1,0,0,-1,0,1,0,0,0,0,0,1,0,0,0,0,-1,0,-1,1,-1,
0,0,1,-1,1,0,1,0,1,0,-1,-1,0,0,1,0,0,0,0,0,0,0,0,0,
0,0,0,-1,0,0,-1,1,1,0,-1,0,1,-1,0,-1,1,0,1,0,0,0,1,
-1,0,0,0,0,0,-1,-1,1,0,0,0,0,-1,-1,1,0,0,0,0,0,0,0,0,
0,0,0,0,-1,0,0,-1,-1,0,0,0,-1,0,1,0,-1,0,-1,0,-1,0,0,
0,-1,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,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,1,0,0,0,-1,0,0,-1,1,1,0,-1,0,1,-1,
1,-1,1,1,0,1,0,-1,1,-1,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,1,-1,0,1,1,-1,1,0,0,-1,0,
1,0,0,1,0,1,-1,0,0,1,-1,1,0,1,0,0,0,1,0,-1,-1,0,0,1,
0,1,0,0,1,0,0,0,0,0,1,0,-1,1,0,0,0,0,0,0,0,-1,0,0,
-1,0,0,1,0,0,1,-1,0,-1,1,0,0,0,0,0,0,0,0,-1,1,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,-1,1,0,0,0,0,0,-1,1,0,0,-1,0,0,0,0,0,0,0,0,1,0,
1,1,-1,-1,0,0,2,0,0,-1,0,2,0,1,1,1,0,1,1,-1,0,0,0,1 
],
\[ -1,0,-1,0,0,1,1,-1,-1,0,0,0,0,0,-1,-1,0,0,-1,0,-1,1,
0,0,0,0,0,-1,-1,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,-1,0,
0,-1,0,0,0,0,0,0,0,0,0,-1,0,1,0,0,0,0,0,0,1,0,1,0,0,
0,0,0,0,-1,0,0,0,0,-1,0,-1,0,0,-1,-1,-1,1,0,-1,0,-1,0,
-1,0,0,-1,0,0,0,0,1,1,0,0,1,0,0,0,-1,0,2,1,0,0,1,0,
0,0,0,0,0,1,0,-1,0,0,-1,0,0,0,0,1,1,0,0,0,-1,-2,0,0,
0,0,1,-1,0,-1,0,-1,0,1,0,0,1,0,0,0,-1,0,0,0,1,-1,-1,
0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,1,0,0,0,1,-1,
-1,-1,-1,0,0,1,-1,-1,-1,-1,0,0,0,-1,2,0,-1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,
1,0,-1,-1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,-1,1,0,0,0,
0,-1,1,0,0,0,0,-1,0,0,1,0,0,0,0,-1,-1,-1,0,0,-1,0,0,
1,-1,-1,1,-1,0,0,0,-1,1,0,0,0,0,0,0,1,0,1,1,0,0,0,1,
-1,0,0,0,0,0,0,0,-1,0,1,0,-1,-1,0,0,0,0,-1,-1,0,-1,0,
0,0,-1,1,0,0,0,0,0,0,1,0,0,0,-1,0,1,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,-1,0,0,0,-1,1,0,0,0,0,0,-1,1,0,
1,0,0,0,0,1,-1,0,1,0,0,0,0,0,-1,-1,0,0,0,-1,-1,1,0,
-1,0,0,1,-1,-1,0,-1,0,-1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
1,-1,-1,0,0,0,0,0,1,0,1,0,1,-1,0,-1,0,1,0,0,1,1,0,0,
0,1,0,-1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0,1,0,
1,0,-1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,-1,0,0,1,1,1,
-1,0,1,0,-1,0,0,0,0,2,-1,1,-1,0,0,0,0,1,0,0,-1,0,0,1,
0,-1,-1,0,0,0,-1,1,0,0,1,0,0,0,-1,0,0,0,-1,1,0,0,0,0,
1,1,0,-1,0,-1,0,1,-1,0,-1,0,1,0,0,-1,0,0,0,0,0,0,0,0,
1,0,0,0,-1,0,0,0,1,-1,0,0,1,0,-1,0,1,0,0,0,0,0,0,0,
-1,0,0,-1,0,0,-1,0,0,0,1,0,1,0,1,0,-1,0,0,1,0,0,0,-1,
0,0,-1,0,-1,1,0,1,0,0,-1,0,0,1,0,0,0,1,1,0,0,0,0,0,
1,1,-1,1,0,-1,0 ] >;

return _LR;
