[Cubefree] 2 Functionality of the Cubefree package

[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`)`

  The order is the size of the desired groups and therefore has to be a 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`)`

  The order is the size of the desired groups and therefore has to be a cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of solvable groups of this size.

- `ConstructAllCFNilpotentGroups(` order`)`

  The order is the size of the desired groups and therefore has to be a cubefree integer. The output is a complete and irredundant list of isomorphism type representatives of nilpotent groups of this size.

- `ConstructAllCFSimpleGroups(` order`)`

  The order is the size of the desired groups and therefore has to be a 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 required order.

- `ConstructAllCFFrattiniFreeGroups(` order`)`

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

- `CountAllCFGroupsUpTo(` n`)`

  The input is an 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 IsBound(L[i])=false otherwise, 1 <= i <= n. The SmallGroups library is used whenever possible. If called CountAllCFGroups(n,false), then only the numbers of squarefree groups are taken from the SmallGroups library.

- `NumberCFGroups(` n`)`

  The input is a cubefree integer n and the output is the number of all cubefree groups of order n. The SmallGroups library is used whenever possible. If called NumberCFGroups(n,false), then only the numbers of squarefree groups are taken from the SmallGroups library.

- `NumberCFSolvableGroups(` n`)`

  The input is a cubefree integer n and the output is the number of all cubefree solvable groups of order n. The SmallGroups library is used whenever possible. If called NumberCFSolvableGroups(n,false), then only the numbers of squarefree groups are taken from the SmallGroups library.

- `IsCubeFreeInt(` n`)`

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

- `IsSquareFreeInt(` n`)`

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

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

  The current version of this method allows only n=2. The input q has to be a prime-power q=pr with p >= 5 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 an abbreviated and 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), 2 <= p <= 100 a prime, are stored in the file 'diagonalMatrices.gi'.

  Since the GrpConst package contains a very efficient method to construct the groups of squarefree order, it might be more practical to use AllSmallGroups (see GrpConst) instead of ConstructAllCFGroups in the squarefree case.

  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 and NumberCFGroups

  As described in Di05 and DiEi05, every cubefree group G has the form G=A×I 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. It is easy to modify the code to one's priorities.

  IrreducibleSubgroupsOfGL

  The size of the input of IrreducibleSubgroupsOfGL is bounded by the ability of GAP to compute 'large' finite fields since the used algorithm to construct the irreducible groups uses finite fields of order at least q3. Therefore, if q is already a 'large' prime-power, then q3 might be too large for GAP to construct GF(q3).

  RewriteAbsolutelyIrreducibleMatrixGroup

  The function RewriteAbsolutelyIrreducibleMatrixGroup as described algorithmically in GlHo97 is probabilistic. If the input is G <= GL(d,pr), then the expected running time 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]