//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 :=
MatrixGroup<10, ext<K|Polynomial(K, [2, 1, 1])> where K is RationalField() |
[[1,1],[1,-1],[
2,1],[-2,0],[1,0],[
2,0],[-1,0],[
2,0],[0,0],[-1,1],[
1,-1],[2,1],[
-2,-2],[4,1],[-1,1],[
-2,-1],[1,2],[
-3,-1],[0,-2],[0,0],[
0,-1],[-4,2],[
-1,-3],[4,3],[-4,-1],[
-2,-1],[0,0],[
-4,-2],[2,0],[2,-2],[
-1,-1],[2,0],[
-2,0],[1,-1],[1,1],[
-1,0],[2,1],[
-1,1],[-1,-1],[0,0],[
0,-1],[-4,2],[
-2,-3],[4,3],[-3,-1],[
-2,-1],[0,0],[
-4,-2],[2,0],[2,-2],[
1,0],[3,-1],[
0,1],[0,-1],[2,1],[
0,0],[1,1],[1,
1],[-1,-1],[-1,1],[
1,2],[2,2],[2,
1],[-1,1],[-1,0],[
2,0],[-3,-1],[
2,0],[3,1],[-3,-1],[
0,1],[2,-2],[
2,2],[-5,-2],[3,0],[
2,0],[0,0],[4,
1],[-1,1],[0,2],[
-1,1],[2,0],[
0,2],[-1,-2],[2,1],[
1,1],[0,-1],[
2,2],[-1,0],[-2,0],[
2,0],[1,-3],[
2,0],[-1,0],[2,0],[
0,-1],[1,2],[
1,-1],[-1,-1],[2,3]],
[[1,1],[-1,-3],[
4,1],[-4,1],[
1,-1],[2,-1],[-1,0],[
3,-1],[1,1],[
1,2],[0,0],[2,2],[
-1,0],[2,-1],[
-1,1],[0,1],[0,0],[
-1,1],[-1,-1],[
-2,-1],[1,0],[1,-1],[
0,0],[1,0],[1,
1],[0,0],[1,1],[
0,0],[-1,-1],[
0,1],[0,0],[2,3],[
-2,-1],[3,0],[
-1,1],[-1,0],[-1,0],[
-2,0],[0,-1],[
-2,-1],[1,1],[1,-1],[
2,1],[-2,0],[
1,0],[2,0],[-1,0],[
3,0],[0,0],[
-1,1],[1,1],[-2,0],[
2,0],[-1,2],[
-2,-2],[0,-1],[-2,-1],[
0,-2],[2,1],[
0,0],[-1,0],[-4,0],[
0,0],[0,1],[
-1,-2],[-1,0],[0,-1],[
-1,-1],[1,1],[
2,-1],[-1,-1],[-1,1],[
-2,-1],[2,0],[
0,0],[-2,0],[1,0],[
-2,0],[0,0],[
1,-1],[-1,0],[3,1],[
-2,1],[-1,-3],[
2,1],[0,1],[0,0],[
1,2],[-2,0],[
-1,0],[0,1],[7,3],[
-1,2],[0,-3],[
0,2],[1,2],[-1,0],[
1,3],[-1,-1],[
-5,-1]]>;

return _LR;
