_LR := rec < recformat< F: GrpFP, AI: SeqEnum, G: GrpMat > |
      F := FreeGroup(2) >;
//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.
_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*b^2*a*b^-1*a*b^2*a*b*a*b^2*a*b^-1],
       //L34.3 = diagonal - order 3
            [ 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], AI[2], interchanged by AI[1]
_LR`G :=
/*
Original group: c9Group("l34p")
Direct induction from degree 3
Schur index: 1
Character: ( 63, -1, 0, -1, -1, -1, zeta(5)_5^3 + zeta(5)_5^2 + 1, -zeta(5)_5^3 
- zeta(5)_5^2, 0, 0 )
*/
MatrixGroup<63, K | [
Matrix(SparseMatrix(K,63,63,[
<1,1,-1>,<1,2,-w+1>,<1,3,-w+1>,<2,3,1>,<3,2,1>,<4,5,
-1>,<5,4,-1>,<6,4,-w+1>,<6,5,w-1>,<6,6,-1>,<7,10,1>,
<8,11,1>,<9,12,1>,<10,7,1>,<11,8,1>,<12,9,1>,<13,19,
1>,<14,20,1>,<15,21,1>,<16,22,1>,<17,23,1>,<18,24,1>,
<19,13,1>,<20,14,1>,<21,15,1>,<22,16,1>,<23,17,1>,<24,
18,1>,<25,34,1>,<26,35,1>,<27,36,1>,<28,40,1>,<29,41,
1>,<30,42,1>,<31,43,1>,<32,44,1>,<33,45,1>,<34,25,1>,
<35,26,1>,<36,27,1>,<37,49,1>,<38,50,1>,<39,51,1>,<40,
28,1>,<41,29,1>,<42,30,1>,<43,31,1>,<44,32,1>,<45,33,
1>,<46,46,-1>,<46,47,-w+2>,<46,48,-w+1>,<47,47,-w+1>,
<47,48,-w+1>,<48,47,-1>,<48,48,w-1>,<49,37,1>,<50,38,
1>,<51,39,1>,<52,52,-1>,<53,53,w-1>,<53,54,-1>,<54,53,
-w+1>,<54,54,-w+1>,<55,55,1>,<56,56,1>,<57,57,1>,<58,
61,-1>,<59,62,w-1>,<59,63,-1>,<60,62,-w+1>,<60,63,-w+
1>,<61,58,-1>,<62,59,w-1>,<62,60,-1>,<63,59,-w+1>,<63,
60,-w+1>])),
Matrix(SparseMatrix(K,63,63,[
<1,4,1>,<2,5,1>,<3,6,1>,<4,7,1>,<5,8,1>,<6,9,1>,<7,
13,1>,<8,14,1>,<9,15,1>,<10,16,1>,<11,17,1>,<12,18,1>,
<13,1,1>,<14,2,1>,<15,3,1>,<16,25,1>,<17,26,1>,<18,27,
1>,<19,28,1>,<20,29,1>,<21,30,1>,<22,33,-1>,<23,31,1>,
<23,32,w-1>,<23,33,w-1>,<24,31,w-1>,<24,32,-w+1>,<24,
33,1>,<25,37,1>,<26,38,1>,<27,39,1>,<28,43,1>,<29,44,
1>,<30,45,1>,<31,22,w-1>,<31,23,-w+1>,<31,24,1>,<32,22,
-1>,<32,23,-w+1>,<32,24,-w+1>,<33,24,-1>,<34,46,-1>,<34,
47,-w+1>,<34,48,-w+1>,<35,48,1>,<36,47,1>,<37,10,1>,
<38,11,1>,<39,12,1>,<40,52,1>,<41,53,1>,<42,54,1>,<43,
55,1>,<44,56,1>,<45,57,1>,<46,34,1>,<47,35,1>,<48,36,
1>,<49,40,w-1>,<49,41,-w+1>,<50,40,w-1>,<50,41,-w+2>,
<50,42,1>,<51,40,-w+1>,<51,41,w-2>,<51,42,w-1>,<52,58,
w-1>,<52,59,-w+2>,<52,60,-w+1>,<53,58,-1>,<53,59,-w+2>,
<53,60,-w+1>,<54,59,w-1>,<54,60,w-1>,<55,19,1>,<56,20,
1>,<57,21,1>,<58,49,1>,<59,50,1>,<60,51,1>,<61,61,-w+
1>,<61,62,w-1>,<62,61,1>,<62,62,w-1>,<63,63,-1>]))
]> where w := K.1 where K := ext<K|Polynomial(K, [-1, -1, 1])> where K is 
RationalField();

return _LR;
