The component .reducible
is set to true
if module is known to be
reducible, and to false
if it is known not to be. This component is
set by IsIrreducible
which may also set the components .subbasis
,
.algEl
, .algElMat
, .algElCharPol
, .algElCharPolFac
,
.algElNullspaceVec
and .algElNullspaceDim
. If module has been
proved reducible, .subbasis
is a basis for a submodule. Alternatively,
if module has been proved to be irreducible, .algEl
is set to the
random element el of the group algebra which has been successfully used
by the algorithm to prove irreducibility, represented abstractly,
essentially as a sum of words in the generators, and .algElMat
to the
actual matrix X that represents that element. The component
.algElCharPol
is set to the characteristic polynomial p of X and
.algElCharPolFac
to the factor f of X used by the algorithm.
(Essentially irreducibility is proved by applying Norton's
irreducibility criterion to the matrix f(X); see [5] for further
details.) The component .algElNullspaceVec
is set to an arbitrary
vector of the nullspace N of f(X), and .algElNullspaceDim
to the
dimension of N.
The component .absolutelyReducible
is set to false
if module is
known to be absolutely irreducible, and to true
if it is known not to
be. It is set by IsAbsolutelyIrreducible
, which also sets the
components .degreeFieldExt
, .centMat
, .centMatMinPoly
if module
is not absolutely irreducible. In that case, .degreeFieldExt
is set to
the dimension e of the centralising field of module. The component
.centMat
is set to a matrix C, which both centralises each of the
matrices in module.generators generating the group action of module
and has minimal polynomial f of degree e. The component
.centMatMinPoly
is set equal to f.
The component .semiLinear
is set to true
in SemiLinearDecomposition
if G acts absolutely irreducibly on module but embeds in a group of
semilinear automorphisms over an extension field of degree e over the
field F. Otherwise it is not set. At the same time, .degreeFieldExt
is set to e, .linearPart
is set to a list of matrices S which are
normal subgroup generators for the intersection of G with the general
linear group in dimension d/e over GF(q^e), and .centMat
is set to
a matrix C which commutes with each of those matrices. Here, C
corresponds to scalar multiplication in the module by an element of the
extension field GF(q^e). The component .frobeniusAutomorphisms
is
set to a list of integers i, one corresponding to each of the
generating matrices g for G in the list .generators
, such that Cg
= gC^{q^{i(g)}}. Thus the generator g acts on the field GF(q^e) as
the Frobenius automorphism x rightarrow x^{q^{i(g)}}.
The component .tensorProduct
is set to true
in
TensorProductDecomposition
if module can be written as a tensor
product of two G-modules with respect to an appropriate basis.
Otherwise it is not set. At the same time, .tensorBasis
is set to the
appropriate basis of that space, and .tensorFactors
to the pair of
G-modules whose tensor product is isomorphic to module written with
respect to that basis.
The component .symTensorProduct
is set to true
in
SymTensorProductDecomposition
if module can be written as a symmetric
tensor product whose factors are permuted by the action of G.
Otherwise it is not set. At the same time, .symTensorBasis
is set to
the basis with respect to which this decomposition can be found,
.symTensorFactors
to the list of tensor factors, and .symTensorPerm
to the list of permutations corresponding to the action of each of the
generators of G on those tensor factors.
The component .extraSpecial
is set to true
in the function
ExtraSpecialDecomposition
if G has been shown to have a normal
subgroup H which is an extraspecial r-group for an odd prime r or a
2-group of symplectic type, modulo scalars. Otherwise it is not set. At
the same time, .extraSpecialGroup
is set to the subgroup H, and
.extraSpecialPrime
is set to r.
The component .imprimitive
is set to true
if G has been shown to
act imprimitively and to false
if G is primitive. Otherwise it is
not set. This component is set in IsPrimitive
. If G has been shown
to act imprimitively, then module has a component .blockSystem
which
has the structure described in BlockSystemFlag
.
GAP 3.4.4