Dear GAP-Forum,
as far as I know, GAP should offer at least two ways to get the
character table of SL(2,5): visiting the GAP Character Table Libraries
by typing
CharTable( "SL", 2, 5 );
and pressing <ENTER> or making GAP calculate the character table.
However, what I received taking the latter way in GAP 3.4.4 follows:
gap> G := SpecialLinearGroup( 2, 5 );; G.name := "SL(2,5)";;
gap> CharTable( G );
Error, Record: element 'permDomain' must have an assigned value at
d := Permutation( d, G.permDomain ) ... in
arg[1].operations.RepresentativeOperation( arg[1], arg[2], arg[3],
OnPoints ) called from
RepresentativeOperation( C.group, g, C.representative ) called from
<elm> in <rec> called from
D.ClassElement( D, D.conjugacyClasses[nu].representative ^ power )
called from
DxPowerClass( D, i, -1 ) called from
...
brk>
Obviously, GAP prefers a permutation group presentation of SL(2,5) to
calculate the group's character table. As I found out by descending a
little deeper down to GAP's internal code, such a presentation is
computed by calling the function
G.operations.MakePermGroupP( <group> )
with the group G itself in place of the argument. For matrix groups G
like SL(2,5) this function sets a local variable P to
Size( G.field )^G.dimension
and decides how to continue by testing if P < 65536 or not. In both
cases the result --- G's permutation group presentation --- is bound
to the record component G.permGroupP, but a component
G.permDomain
is ONLY stored IF P >= 65536.
For the special linear group G=SL(2,5) is P=25 and hence accessing the
record component G.permDomain in the upper example will fail, of
course!
Now, here comes my question:
Is there any reason why G.permDomain is not bound by MakePermGroupP
whenever P is less than 65536 or is this a 'strange behaviour' ---
just to use Akihiro Munemasa's words (GAP-Forum, 12 May 93) ?
Mathias Kratzer