//Standard generators of G2(4) are a and b where a is in class 2A, b is in class
//5C/D, ab has order 13 and abb has order 13.
//To ensure that b is in class 5C/D (and not class 5A/B), also check that
//ababb has order 15.
//Standard generators of the double cover 2.G2(4) are preimages A and B where
//B has order 5 and AB has order 13. 
_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
_LR`AI := [ [a, b^2] ]
                  where a is (_LR`F).1 where b is (_LR`F).2;
//one constituent fixed by automorphism
_LR`G :=
MatrixGroup<12, ext<K|Polynomial(K, [1, 0, 1])> where K is RationalField() |
[[1,2],[2,0],[
1,1],[1,1],[1,-1],[
1,-1],[0,-1],[
0,-1],[1,2],[2,1],[
-1,0],[0,0],[
0,-2],[-1,-2],[0,0],[
1,-1],[-2,0],[
-1,1],[-1,0],[-1,1],[
0,-1],[0,-2],[
0,0],[-1,0],[1,-1],[
-1,-1],[1,-1],[
0,-1],[0,0],[-1,-1],[
-1,0],[-1,0],[
1,-1],[0,-1],[0,0],[
0,0],[0,0],[1,
1],[-1,0],[0,1],[
1,-1],[0,0],[
1,0],[0,0],[-1,0],[
0,1],[0,0],[0,
0],[0,2],[1,1],[
1,0],[0,0],[1,
0],[1,-1],[0,0],[
1,0],[1,1],[0,
0],[0,1],[1,1],[
1,-1],[0,-2],[
0,0],[1,0],[-1,-1],[
-1,0],[-1,0],[
-1,0],[1,-1],[1,-1],[
0,0],[0,-1],[
-1,-1],[-1,1],[-1,0],[
-1,0],[1,1],[
0,0],[1,0],[0,0],[
-1,0],[-1,1],[
0,-1],[0,0],[0,2],[
1,1],[1,0],[0,
0],[1,-1],[1,-1],[
0,0],[1,0],[1,
1],[1,0],[-1,1],[
0,1],[0,-2],[
0,0],[-2,0],[-1,1],[
0,0],[-1,1],[
1,0],[0,0],[-1,-1],[
-1,1],[1,-1],[
0,-1],[-2,2],[0,2],[
1,1],[0,0],[1,
1],[2,0],[0,0],[
1,0],[0,2],[1,
1],[-1,0],[0,1],[
-1,1],[0,2],[
0,0],[-1,0],[1,1],[
0,0],[0,1],[1,
0],[0,0],[-1,1],[
1,0],[1,0],[1,
1],[1,-1],[1,0],[
1,0],[1,-1],[
1,-1],[0,-1],[-1,-1],[
1,1],[2,0],[
-1,0],[0,0]],
[[-1,0],[-2,-1],[
2,0],[1,-2],[
0,0],[1,-1],[-2,0],[
-1,2],[1,1],[
1,-2],[-1,1],[0,1],[
2,-1],[0,0],[
-1,-2],[-1,0],[-1,-1],[
-2,0],[1,2],[
1,0],[0,-3],[-2,-1],[
1,0],[0,-1],[
0,0],[-1,2],[-1,-2],[
-2,-1],[0,0],[
-1,-1],[1,1],[1,0],[
0,-1],[-2,0],[
1,1],[1,1],[1,2],[
3,0],[0,1],[0,
2],[1,-1],[0,0],[
0,-1],[0,-1],[
1,1],[2,1],[0,0],[
1,-1],[0,0],[
1,1],[-2,0],[-1,1],[
-1,0],[-1,1],[
2,0],[1,-1],[-1,0],[
-1,1],[1,1],[
1,0],[-1,1],[0,0],[
1,1],[0,0],[1,
1],[1,0],[-1,-1],[
0,0],[1,1],[1,
0],[0,-1],[0,-1],[
-1,1],[0,1],[
1,0],[0,-1],[1,1],[
1,0],[0,0],[0,
0],[0,1],[1,1],[
-1,0],[0,1],[
1,0],[0,-1],[0,-1],[
0,0],[0,-1],[
0,-1],[0,0],[0,0],[
0,0],[0,-1],[
0,1],[0,0],[-2,0],[
0,1],[0,1],[0,
0],[0,2],[1,2],[
1,0],[1,0],[
-2,1],[0,2],[0,-1],[
0,0],[0,1],[
-1,0],[1,-1],[0,-1],[
1,0],[1,-2],[
-1,0],[0,0],[1,1],[
0,-1],[-1,1],[
0,1],[1,0],[1,1],[
-2,-1],[-1,1],[
0,0],[-1,0],[2,0],[
1,-2],[-1,-1],[
-2,1],[1,1],[1,0],[
-1,1],[1,0],[
0,2],[0,1],[1,0],[
1,0],[-1,-2],[
-1,0],[1,2],[2,1],[
0,-1],[0,-1]]>;

return _LR;
