37.10 The Irreducible Solvable Linear Groups Library

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

GL(n,p) are ordered with respect to the following criteria:
item increasing size; item increasing guardian number. If two groups have the same size and guardian, they are in no particular order. (See the library documentation or [Sho92] for the meaning of guardian.)

    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:

size of G.

isLinearlyPrimitive:

false if G preserves a direct sum decomposition of the underlying vector space, and true otherwise.

minimalBlockDimension:

not bound if G is linearly primitive; otherwise equals the dimension of the blocks in an unrefinable system of imprimitivity for G.

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.

Previous Up Top Next
Index

GAP 3.4.4
April 1997