The IrredSol group library provides access to the irreducible solvable subgroups of GL(n,p), where n > 1, p is prime and p^n < 256. The library contains exactly one member from each of the 370 conjugacy classes of such subgroups.
By well known theory, this library also doubles as a library of primitive
solvable permutation groups of non-prime degree less than 256. To access
the data in this form, you must first build the matrix group(s) of
interest and then call the function
PrimitivePermGroupIrreducibleMatGroup( matgrp )
This function returns a permutation group isomorphic to the semidirect
product of an irreducible matrix group (over a finite field) and its
underlying vector space.
AllIrreducibleSolvableGroups( fun1, val1, fun2, val2, ... )
AllIrreducibleSolvableGroups
returns a list containing all irreducible
solvable linear groups that have the properties given as arguments. Each
property is specified by passing a pair of arguments, the first being a
function which will be applied to all groups in the library, and the
second being a value or a list of values that this function must return
in order to have this group included in the list returned by
AllIrreducibleSolvableGroups
.
gap> AllIrreducibleSolvableGroups( Dimension, 2, > CharFFE, 3, > Size, 8 ); [ Group( [ [ 0*Z(3), Z(3)^0 ], [ Z(3)^0, 0*Z(3) ] ], [ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ], [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3) ] ] ), Group( [ [ 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ], [ [ Z(3)^0, Z(3) ], [ Z(3), Z(3) ] ] ), Group( [ [ 0*Z(3), Z(3)^0 ], [ Z(3)^0, Z(3) ] ] ) ]
OneIrreducibleSolvableGroup( fun1, val1, fun2, val2, ... )
OneIrreducibleSolvableGroup
returns one irreducible solvable linear
group that has the properties given as arguments. Each property is
specified by passing a pair of arguments, the first being a function
which will be applied to all groups in the library, and the second being
a value or a list of values that this function must return in order to
have this group returned by OneIrreducibleSolvableGroup
. If no such
group exists, false
is returned.
gap> OneIrreducibleSolvableGroup( Dimension, 4, > IsLinearlyPrimitive, false ); Group( [ [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ], [ Z(2)^0, 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ] ], [ [ 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ], [ Z(2)^0, Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ] ], [ [ Z(2)^0, 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ], [ 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ] ] )
AllIrreducibleSolvableGroups
and OneIrreducibleSolvableGroup
recognize the following functions and handle them very efficiently
(because the information is stored with the groups and so no computations
are needed): Dimension
for the linear degree, CharFFE
for the field
characteristic, Size
, IsLinearlyPrimitive
, and
MinimalBlockDimension
. Note that the last two are dummy functions that
can be used only in this context. Their meaning is explained at the end
of this section.
IrreducibleSolvableGroup( n, p, i )
IrreducibleSolvableGroup
returns the i-th irreducible solvable
subgroup of GL( n, p ). The irreducible solvable subgroups of
gap> g := IrreducibleSolvableGroup( 3, 5, 12 ); Group( [ [ 0*Z(5), Z(5)^2, 0*Z(5) ], [ Z(5)^2, 0*Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^2 ] ], [ [ 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^0 ], [ Z(5)^0, 0*Z(5), 0*Z(5) ] ], [ [ Z(5)^2, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^2 ] ], [ [ Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^2, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^2 ] ], [ [ Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5) ] ] )
Apart from the usual components described in Group Records, the group records returned by the above functions have the following components.
size
:
isLinearlyPrimitive
:false
if G preserves a direct sum decomposition of the
underlying vector space, and true
otherwise.
minimalBlockDimension
:This library was computed and brought into GAP format by Mark Short. Descriptions of the algorithms used in computing the library data can be found in Sho92.
GAP 3.4.4