IsSemiLinear( G )
IsSemiLinear
takes as input a matrix group G over a finite field and
seeks to decide whether or not G acts semilinearly.
The function returns a list containing two values: a boolean and a
G-module record, module, for G. If the boolean is true
, then G
is semilinear and information about the decomposition can be obtained
using SemiLinearPartFlag (module)
, LinearPartFlag (module)
, and
Components of a $G$-module record for an explanation of these.
If IsSemiLinear
discovers that G acts imprimitively, it cannot decide
whether or not G acts semilinearly and returns "unknown"
.
SmashGModule
is called by IsSemiLinear
.
The algorithm is described in [6].
GAP 3.4.4