- Basic attributes for matrix groups
- Irreducibility and maximality of matrix groups
- Primitivity of matrix groups
- Conjugating matrix groups into smaller fields

This chapter explains some attributes, properties, and operations which may be useful for working with matrix groups. Some of these are part of the GAP library and are listed for the sake of completeness, and some are provided by the package IRREDSOL. Note that groups constructed by functions in IRREDSOL already have the appropriate properties and attributes.

`DegreeOfMatrixGroup(`

`) A`

`Degree(`

`) O`

`DimensionOfMatrixGroup(`

`) A`

`Dimension(`

`) A`

This is the degree of the matrix group or, equivalently, the dimension of the natural underlying vector space. See also DimensionOfMatrixGroup.

`FieldOfMatrixGroup(`

`) A`

This is the field generated by the matrix entries of the elements of `G`. See also
FieldOfMatrixGroup.

`DefaultFieldOfMatrixGroup(`

`) A`

This is a field containing all matrix entries of the elements of `G`. See also
DefaultFieldOfMatrixGroup.

`SplittingField(`

`) A`

Let `G` be an irreducible subgroup of `GL(n, F)`, where `F = FieldOfMatrixGroup( G)`
is a finite field. This attribute stores the splitting field

`CharacteristicOfField(`

`) A`

`Characteristic(`

`) O`

This is the characteristic of `FieldOfMatrixGroup`

(`G`) (see FieldOfMatrixGroup).

`RepresentationIsomorphism(`

`) A`

This attribute stores an isomorphism ` H toG`, where

In this way, computations which only depend on the
isomorphism type of `G` can be carried out in the group `H` and translated
back to the group `G` via the representation isomorphism. Possible applications are the conjugacy classes of `G`, Sylow subgroups, composition and chief series, normal subgroups, group theoretical properties of `G`, and many more.

The concept of a representation isomorphism is related to
nice monomorphisms; see Section Nice Monomorphisms. However, unlike nice monomorphisms,
`RepresentationIsomorphism`

need not be efficient for computing preimages (and, indeed, will not usually be, in the case of the groups in the IRREDSOL library).

`IsIrreducibleMatrixGroup(`

`) P`

`IsIrreducibleMatrixGroup(`

`, `

`) O`

`IsIrreducible(`

` [, `

`]) O`

The matrix group `G` of degree `d` is irreducible over the field `F` if no subspace of ` F^{d}` is
invariant under the action of

`FieldOfMatrixGroup`

(

gap> G := IrreducibleSolubleMatrixGroup(4, 2, 2, 3); <matrix group of size 10 with 2 generators> gap> IsIrreducibleMatrixGroup(G); true gap> IsIrreducibleMatrixGroup(G, GF(2)); true gap> IsIrreducibleMatrixGroup(G, GF(4)); false

`IsAbsolutelyIrreducibleMatrixGroup(`

`) P`

`IsAbsolutelyIrreducible(`

`) O`

If present, this operation returns true if `G` is absolutely irreducible, i. e., irreducible over any
extension field of `FieldOfMatrixGroup`

(`G`).

gap> G := IrreducibleSolubleMatrixGroup(4, 2, 2, 3); <matrix group of size 10 with 2 generators> gap> IsAbsolutelyIrreducibleMatrixGroup(G); false

`IsMaximalAbsolutelyIrreducibleSolubleMatrixGroup(`

`) P`

`IsMaximalAbsolutelyIrreducibleSolvableMatrixGroup(`

`) P`

This property, if present, is `true`

if, and only if, `G` is absolutely irreducible and maximal among
the soluble subgroups of `GL(d, F)`, where `d` is `DegreeOfMatrixGroup`

(`G`) and
`F` equals `FieldOfMatrixGroup`

(`G`).

`MinimalBlockDimensionOfMatrixGroup(`

`) A`

`MinimalBlockDimensionOfMatrixGroup(`

`, `

`) O`

`MinimalBlockDimension(`

` [, `

`]) O`

Let `G` be a matrix group of degree `d` over the field `F`. A
decomposition `V _{1} opluscdotsoplusV_{k}` of

`MinimalBlockDimensionOfMatrixGroup`

returns the minimum of the dimensions
of all block systems of `FieldOfMatrixGroup`

(

gap> G := IrreducibleSolubleMatrixGroup(2,3,1,4);; gap> MinimalBlockDimension(G, GF(3)); 2 gap> MinimalBlockDimension(G, GF(9)); 1

`IsPrimitiveMatrixGroup(`

`) P`

`IsPrimitiveMatrixGroup(`

`, `

`) O`

`IsPrimitive(`

` [, `

`]) O`

`IsLinearlyPrimitive(`

` [, `

`]) O`

An irreducible matrix group `G` of degree `d` is primitive over the field `F` if it
only has the trivial block system ` F^{d}` or, equivalently, if

`MinimalBlockDimensionOfMatrixGroup`

(`FieldOfMatrixGroup`

(

gap> G := IrreducibleSolubleMatrixGroup(2,2,1,1);; gap> IsPrimitiveMatrixGroup(G, GF(2)); true gap> IsIrreducibleMatrixGroup(G, GF(4)); true gap> IsPrimitiveMatrixGroup(G, GF(4)); false

`ImprimitivitySystems(`

` [, `

`]) O`

This function returns the list of all imprimitivity systems of the
irreducible matrix group `G` over the field `F`. If `F` is not given,
`FieldOfMatrixGroup`

(`G`) is used.
Each imprimitivity system is given by a record with the following entries:

`bases`

- a list of the bases of the subspaces which form the imprimitivity system.
Note that a basis here is just a list of vectors, not a basis in the sense of
GAP (see Basis). Each basis is
in Hermite normal form so that the action of
`G`on the imprimitivity system can be determined by`OnSubspacesByCanonicalBasis`

`stab1`

- the subgroup of
`G`stabilizing the subspace`W`spanned by`bases[1]`

`min`

- is true if the imprimitivity system is minimal, that is, if
`stab1`

acts primitively on`W`, and false otherwise

gap> G := IrreducibleSolubleMatrixGroup(6, 2, 1, 9); <matrix group of size 54 with 4 generators> gap> impr := ImprimitivitySystems(G, GF(2));; gap> List(ImprimitivitySystems(G, GF(2)), r -> Length(r.bases)); [ 3, 3, 1 ] gap> List(ImprimitivitySystems(G, GF(4)), > r -> Action(G, r.bases, OnSubspacesByCanonicalBasis)); [ Group([ (), (1,2)(3,6)(4,5), (1,3,4)(2,5,6), (1,4,3)(2,6,5) ]), Group([ (1,2,4)(3,5,6), (1,3)(2,5)(4,6), (), () ]), Group([ (1,2,4)(3,5,6), (1,3)(2,5)(4,6), (1,2,4)(3,6,5), (1,4,2)(3,5,6) ]), Group([ (1,2,4)(3,5,6), (1,3)(2,5)(4,6), (1,4,2)(3,5,6), (1,2,4)(3,6,5) ]), Group([ (), (1,2), (), () ]), Group([ (1,2,3), (), (), () ]), Group([ (), (2,3), (1,2,3), (1,3,2) ]), Group([ (), (2,3), (1,2,3), (1,3,2) ]), Group([ (), (2,3), (1,2,3), (1,3,2) ]), Group(()) ]

`TraceField(`

`) A`

This is the field generated by the traces of the elements of the matrix group `G`.
If `G` is an irreducible matrix group over a finite field then, by a theorem of Brauer, `G`
has a conjugate which is a matrix group over `TraceField`

(`G`).

gap> repeat > G := IrreducibleSolubleMatrixGroup(8, 2, 2, 7)^RandomInvertibleMat(8, GF(8)); > until FieldOfMatrixGroup(G) = GF(8); gap> TraceField(G); GF(2)

`ConjugatingMatTraceField(`

`) A`

If bound, this is a matrix `x` over `FieldOfMatrixGroup`

(`G`) such that
` G^{<}x>` is a matrix group over

`TraceField`

(gap> repeat > G := IrreducibleSolubleMatrixGroup(8, 2, 2, 7) ^ > RandomInvertibleMat(8, GF(8)); > until FieldOfMatrixGroup(G) = GF(8); gap> FieldOfMatrixGroup(G^ConjugatingMatTraceField(G)); GF(2)

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

IRREDSOL manual

November 2022