[Up] [Previous] [Next] [Index]

# 2 Functionality of the Cubefree package

### Sections

1. New methods
2. Comments on the implementation
3. Accuracy check

This chapter describes the methods available from the Cubefree package.

## 2.1 New methods

This section lists the implemented functions.

- `ConstructAllCFGroups(` order`) F`

  The input order has to be a positive cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of groups of this size. If possible, the groups are given as pc groups and as permutations groups otherwise.

- `ConstructAllCFSolvableGroups(` order`) F`

  The input order has to be a positive cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of solvable groups of this size. The groups are given as pc groups.

- `ConstructAllCFNilpotentGroups(` order`) F`

  The input order has to be a positive cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of nilpotent groups of this size. The groups are given as pc groups.

- `ConstructAllCFSimpleGroups(` order`) F`

  The input order has to be a positive cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of simple groups of this size. In particular, there exists either none or exactly one simple group of the given order.

- `ConstructAllCFFrattiniFreeGroups(` order`) F`

  The input order has to be a positive cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of Frattini-free groups of this size.

- `NumberCFGroups(` n`[,` bool`] ) F`

  The input n has to be a positive cubefree integer and the output is the number of all cubefree groups of order n. The SmallGroups library is used whenever possible, i.e. when nleq50000. Only if bool is set to false, then only the numbers of squarefree groups are taken from the SmallGroups library.

- `NumberCFSolvableGroups(` n`[,` bool`] ) F`

  The input n has to be a positive cubefree integer and the output is the number of all cubefree solvable groups of order n. The SmallGroups library is used whenever possible, i.e. when nleq50000. Only if bool is set to false, then only the numbers of squarefree groups are taken from the SmallGroups library.

- `CountAllCFGroupsUpTo(` n`[,` bool`]) F`

  The input is a positive integer n and the output is a list L of size n such that L[i] contains the number of isomorphism types of groups of order i if i is cubefree and L[i] is not bound, otherwise, 1leqi leqn. The SmallGroups library is used whenever possible, i.e. when nleq50000. Only if bool is set to false, then only the numbers of squarefree groups are taken from the SmallGroups library.

- `IsCubeFreeInt(` n`) P`

  The output is true if n is a cubefree integer and false otherwise.

- `IsSquareFreeInt(` n`) P`

  The output is true if n is a squarefree integer and false otherwise.

- `IrreducibleSubgroupsOfGL(` n`,` q`) O`

  The current version of this function allows only n=2. The input q has to be a prime-power q=pr with pgeq5 a prime. The output is a list of all irreducible subgroups of GL(2,q) up to conjugacy.

- `RewriteAbsolutelyIrreducibleMatrixGroup(` G`)`

  The input G has to be an absolutely irreducible matrix group over a finite field GF(q). If possible, the output is G rewritten over the subfield of GF(q) generated by the traces of the elements of G. If no rewriting is possible, then the input G is returned.

  ## 2.2 Comments on the implementation

  This section provides some useful information about the implementations.

  ConstructAllCFGroups

  The function `ConstructAllCFGroups` constructs all groups of a given cubefree order up to isomorphism using the Frattini Extension Method as described in Di05, DiEi05, BeEia, and BeEib. One step in the Frattini Extension Method is to compute Frattini extensions and for this purpose some already implemented methods of the required GAP package GrpConst are used.

  Since `ConstructAllCFGroups` requires only some special types of irreducible subgroups of GL(2,p) (e.g. of cubefree order), it contains a modified internal version of `IrreducibleSubgroupsOfGL`. This means that the latter is not called explicitely by `ConstructAllCFGroups`.

  To reduce runtime, the generators of the reducible subgroups of GL(2,p), 2leqp leq100 a prime, are stored in the file 'diagonalMatrices.dat'.

  ConstructAllCFSimpleGroups and ConstructAllCFNilpotentGroups

  The construction of simple or nilpotent groups of cubefree order is rather easy, see Di05 or DiEi05. In particular, the methods used in these cases are independent from the methods used in the general cubefree case.

  CountAllCFGroupsUpTo

  As described in Di05 and DiEi05, every cubefree group G has the form G=AtimesI where A is trivial or non-abelian simple and I is solvable. Further, there is a one-to-one correspondence between the solvable cubefree groups and some solvable Frattini-free groups. This one-to-one correspondence allows to count the number of groups of a given cubefree order without computing any Frattini extension. To reduce runtime, the computed irreducible and reducible subgroups of the general linear groups GL(2,p) and also the number of the computed solvable Frattini-free groups are stored during the whole computation. This is very memory consuming but reduces the runtime significantly. The alternative is to run a loop over `NumberCFGroups`.

  IrreducibleSubgroupsOfGL

  If the input is a matrix group over GF(q), then the algorithm needs to construct GF(q3) internally.

  RewriteAbsolutelyIrreducibleMatrixGroup

  The function `RewriteAbsolutelyIrreducibleMatrixGroup` as described algorithmically in GlHo97 is probabilistic. If the input is GleqGL(d,pr), then the expected runtime is O(rd3).

  ## 2.3 Accuracy check

  We have compared the results of `ConstructAllCFGroups` with the library of cubefree groups of GrpConst. Further, we compared the number and size of the solvable groups constructed by `IrreducibleSubgroupsOfGL` with the library of Irredsol.

  [Up] [Previous] [Next] [Index]