//Standard generators of L3(4) are a and b where a has order 2, b has
//order 4, ab has order 7 and abb has order 5.
//Standard generators of the double cover 2.L3(4) are preimages A and B where
//AB has order 7, ABB has order 5 and ABABABBB has order 5.
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;

_LR`AI := [ [ a, b^2*a*b^2*a*b*a*b*a*b^-1*a*b^2*a*b^2 ],
       //L34.2_1 = field x duality - order 2 - not same as in Online ATLAS.
            [ a, (b^-1*a)^3*(b*a)^3*b ],
       //L34.2_2 = field  - order 2 - not same as in Online ATLAS.
            [ a, b^-1]  ]
       //L34.2_3 = duality  - order 2
                  where a is (_LR`F).1 where b is (_LR`F).2;

//two constituents, fixed by AI[2], interchanged by AI[1].
_LR`G := sub<GL(20,Integers()) |
\[ 1,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,0,0,0,0,0,0,1,0,0,0,1,-1,0,-1,0,0,1,0,-1,1,0,0,
0,1,0,-1,0,1,0,0,-1,0,0,0,-1,-1,0,0,1,0,1,0,0,0,-1,1,
0,0,0,1,1,-1,0,0,0,0,0,0,0,1,0,0,0,1,0,-1,0,1,0,0,
-1,0,0,0,1,-1,0,1,1,-1,1,0,0,0,-1,1,0,0,0,0,1,-1,0,0,
0,0,1,1,0,-1,1,-1,1,-1,0,0,1,-1,0,1,0,0,1,0,-1,0,0,0,
0,1,0,0,0,0,-1,0,0,-1,0,1,0,1,-1,1,0,0,0,0,0,0,0,0,
0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,-1,0,-1,1,1,-1,
0,0,0,-1,0,0,0,-1,0,-1,1,1,0,-1,1,-1,0,0,0,0,0,0,0,0,
0,-1,1,0,0,-1,0,0,-1,0,0,0,-1,1,0,0,0,1,0,-1,0,-1,0,
-1,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,1,
0,0,0,0,-1,0,-1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,-1,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,1,0,-1,0,-1,0,-1,0,0,0,-1,0,1,1,
0,1,0,-1,0,1,0,-1,1,0,-1,0,0,0,-1,0,0,0,1,-1,1,1,0,0,
0,-1,0,0,0,-1,0,-1,0,0,0,0,-1,0,0,1,1,-1,0,0,0,0,0,0,
-1,-1,0,-1,-1,1,0,0,-1,0,0,1,0,0,0 ],
\[ 1,-1,0,1,0,0,1,0,0,1,-1,0,0,0,0,-1,0,0,-1,1,0,1,1,
-1,-1,0,-1,0,0,-1,1,0,0,0,0,0,0,0,1,-1,1,0,0,0,0,-1,
0,0,0,0,1,0,0,0,0,-1,0,-1,1,-1,-1,1,0,-1,0,0,0,0,0,
-1,0,0,1,0,0,1,0,0,0,-1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,-1,0,0,0,0,0,1,0,0,0,0,0,-1,1,-1,0,-1,0,0,-1,1,-1,
1,0,1,0,1,0,-1,-1,0,-1,0,0,0,0,0,0,1,0,0,0,0,0,-1,-1,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,-1,0,-1,0,0,0,
-1,0,-1,0,0,0,0,-1,0,1,1,1,-1,0,0,-1,1,1,-1,0,0,0,-1,
0,-1,1,0,-1,1,0,1,0,0,0,0,1,1,0,-2,0,0,-1,0,0,-1,0,1,
0,1,0,0,0,0,-1,1,-1,1,1,-1,0,1,0,-1,1,-1,0,0,0,1,-1,
0,-1,0,0,0,-1,1,2,0,0,1,-1,0,0,-1,0,1,-1,1,0,0,0,0,1,
0,0,1,1,-1,0,1,-1,0,0,-1,0,2,-1,1,0,0,0,0,0,0,0,0,0,
-1,1,0,0,0,1,-1,0,0,0,0,0,0,1,-1,0,0,-1,1,1,-1,0,1,
-1,0,1,-1,0,0,0,0,0,0,0,0,0,-1,1,0,0,-1,0,-1,-1,0,-1,
0,0,1,-1,0,1,0,1,0,0,1,-1,0,1,0,0,1,1,-1,1,-2,1,1,0,
1,-1,1,-1,-1,0,-1,-1,0,1,1,1,0,0,0,0,-1,0,0,-1,0,1,0,
1,-1,2,0,0,1,1,-1,0,0,-1,0,0,0,0,1,-1,1,0,0,0,0,0 ] >;

return _LR;
