ExtraSpecialDecomposition( module, S )
module is a module for a matrix group G over a finite field where G is assumed to act absolutely irreducibly.
S is a set of invertible matrices, assumed to act absolutely irreducibly on the underlying vector space of module.
ExtraSpecialDecomposition
returns true
if (modulo scalars) < S
> is an extraspecial r-group, for some prime r, or a 2-group
of symplectic type (that is, the central product of an extraspecial
2-group with a cyclic group of order 4), normalised by G. Otherwise it
returns false
.
ExtraSpecialDecomposition
attempts to prove that < S > is
extraspecial or of symplectic type by construction. It tries to find
generators x_1, ldots, x_k, y_1, ldots, y_k, z for < S
> , with z central of order r, each x_i commuting with all
other generators except y_i, each y_i commuting with all other
generators except x_i, and [x_i, y_i] = z. If it succeeds, it checks
that conjugates of these generators are also in S.
ExtraSpecialDecomposition
is called by SmashGModule
.
The algorithm is described in [6].
GAP 3.4.4